F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
Models.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title Os/Models/Models.hpp
3 // \brief header used to validate Os/Models before use
4 // ======================================================================
5 
9 #include "Os/File.hpp"
10 #include "Os/Task.hpp"
11 
12 #ifndef OS_MODELS_MODELS_HPP
13 #define OS_MODELS_MODELS_HPP
14 
15 // Check consistency of every constant in the Os::File::Status enum
16 static_assert(static_cast<FwIndexType>(Os::File::Status::MAX_STATUS) ==
18  "File status and FPP shadow enum have inconsistent number of values");
20  "File status and FPP shadow enum do not match");
21 static_assert(static_cast<Os::FileStatus::T>(Os::File::Status::DOESNT_EXIST) == Os::FileStatus::T::DOESNT_EXIST,
22  "File status and FPP shadow enum do not match");
24  "File status and FPP shadow enum do not match");
26  "File status and FPP shadow enum do not match");
27 static_assert(static_cast<Os::FileStatus::T>(Os::File::Status::BAD_SIZE) == Os::FileStatus::T::BAD_SIZE,
28  "File status and FPP shadow enum do not match");
29 static_assert(static_cast<Os::FileStatus::T>(Os::File::Status::NOT_OPENED) == Os::FileStatus::T::NOT_OPENED,
30  "File status and FPP shadow enum do not match");
31 static_assert(static_cast<Os::FileStatus::T>(Os::File::Status::FILE_EXISTS) == Os::FileStatus::T::FILE_EXISTS,
32  "File status and FPP shadow enum do not match");
33 static_assert(static_cast<Os::FileStatus::T>(Os::File::Status::NOT_SUPPORTED) == Os::FileStatus::T::NOT_SUPPORTED,
34  "File status and FPP shadow enum do not match");
35 static_assert(static_cast<Os::FileStatus::T>(Os::File::Status::INVALID_MODE) == Os::FileStatus::T::INVALID_MODE,
36  "File status and FPP shadow enum do not match");
37 static_assert(static_cast<Os::FileStatus::T>(Os::File::Status::INVALID_ARGUMENT) == Os::FileStatus::T::INVALID_ARGUMENT,
38  "File status and FPP shadow enum do not match");
40  "File status and FPP shadow enum do not match");
41 
42 // Check consistency of every constant in the Os::File::Mode enum
43 static_assert(static_cast<FwIndexType>(Os::File::Mode::MAX_OPEN_MODE) ==
45  "File mode and FPP shadow enum have inconsistent number of values");
46 static_assert(static_cast<Os::FileMode::T>(Os::File::Mode::OPEN_NO_MODE) == Os::FileMode::T::OPEN_NO_MODE,
47  "File mode and FPP shadow enum do not match");
48 static_assert(static_cast<Os::FileMode::T>(Os::File::Mode::OPEN_READ) == Os::FileMode::T::OPEN_READ,
49  "File mode and FPP shadow enum do not match");
50 static_assert(static_cast<Os::FileMode::T>(Os::File::Mode::OPEN_CREATE) == Os::FileMode::T::OPEN_CREATE,
51  "File mode and FPP shadow enum do not match");
52 static_assert(static_cast<Os::FileMode::T>(Os::File::Mode::OPEN_WRITE) == Os::FileMode::T::OPEN_WRITE,
53  "File mode and FPP shadow enum do not match");
54 static_assert(static_cast<Os::FileMode::T>(Os::File::Mode::OPEN_SYNC_WRITE) == Os::FileMode::T::OPEN_SYNC_WRITE,
55  "File mode and FPP shadow enum do not match");
56 static_assert(static_cast<Os::FileMode::T>(Os::File::Mode::OPEN_APPEND) == Os::FileMode::T::OPEN_APPEND,
57  "File mode and FPP shadow enum do not Mode");
58 
60  "Task status and FPP shadow enum do not match");
61 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::INVALID_HANDLE) == Os::TaskStatus::T::INVALID_HANDLE,
62  "Task status and FPP shadow enum do not match");
63 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::INVALID_PARAMS) == Os::TaskStatus::T::INVALID_PARAMS,
64  "Task status and FPP shadow enum do not match");
65 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::INVALID_STACK) == Os::TaskStatus::T::INVALID_STACK,
66  "Task status and FPP shadow enum do not match");
67 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::UNKNOWN_ERROR) == Os::TaskStatus::T::UNKNOWN_ERROR,
68  "Task status and FPP shadow enum do not match");
69 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::INVALID_AFFINITY) == Os::TaskStatus::T::INVALID_AFFINITY,
70  "Task status and FPP shadow enum do not match");
71 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::DELAY_ERROR) == Os::TaskStatus::T::DELAY_ERROR,
72  "Task status and FPP shadow enum do not match");
73 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::JOIN_ERROR) == Os::TaskStatus::T::JOIN_ERROR,
74  "Task status and FPP shadow enum do not match");
75 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::ERROR_RESOURCES) == Os::TaskStatus::T::ERROR_RESOURCES,
76  "Task status and FPP shadow enum do not match");
77 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::ERROR_PERMISSION) == Os::TaskStatus::T::ERROR_PERMISSION,
78  "Task status and FPP shadow enum do not match");
79 static_assert(static_cast<Os::TaskStatus::T>(Os::Task::Status::INVALID_STATE) == Os::TaskStatus::T::INVALID_STATE,
80  "Task status and FPP shadow enum do not match");
81 
82 #endif // OS_MODELS_MODELS_HPP
PlatformIndexType FwIndexType
Definition: FpConfig.h:20
T
The raw enum type.
@ NUM_CONSTANTS
The number of enumerated constants.
T
The raw enum type.
@ NUM_CONSTANTS
The number of enumerated constants.
T
The raw enum type.
@ OP_OK
Operation was successful.
Definition: FileSystem.hpp:15
@ NO_PERMISSION
No permission to write.
Definition: FileSystem.hpp:18
@ OTHER_ERROR
other OS-specific error
Definition: FileSystem.hpp:25
@ NO_SPACE
No space left.
Definition: FileSystem.hpp:17