F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Os::Posix::RawTime::PosixRawTime Class Reference

Posix implementation of Os::RawTime. More...

#include <Os/Posix/RawTime.hpp>

Inheritance diagram for Os::Posix::RawTime::PosixRawTime:
Os::RawTimeInterface Fw::Serializable

Public Member Functions

 PosixRawTime ()=default
 constructor More...
 
 ~PosixRawTime () override=default
 destructor More...
 
RawTimeHandlegetHandle () override
 return the underlying RawTime handle (implementation specific) More...
 
Status now () override
 Get the current time. More...
 
Status getTimeInterval (const Os::RawTime &other, Fw::TimeInterval &interval) const override
 Calculate the time interval between this and another raw time. More...
 
Fw::SerializeStatus serializeTo (Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const override
 Serialize the contents of the RawTimeInterface object into a buffer. More...
 
Fw::SerializeStatus deserializeFrom (Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) override
 Deserialize the contents of the RawTimeInterface object from a buffer. More...
 
- Public Member Functions inherited from Os::RawTimeInterface
 RawTimeInterface ()=default
 default constructor More...
 
virtual ~RawTimeInterface ()=default
 default virtual destructor More...
 
- Public Member Functions inherited from Fw::Serializable
 DEPRECATED (SerializeStatus serialize(SerialBufferBase &buffer) const, "Use serializeTo(SerialBufferBase& buffer) instead")
 
 DEPRECATED (SerializeStatus deserialize(SerialBufferBase &buffer), "Use deserializeFrom(SerialBufferBase& buffer) instead")
 

Additional Inherited Members

- Public Types inherited from Os::RawTimeInterface
enum  Status {
  OP_OK, OP_OVERFLOW, INVALID_PARAMS, NOT_SUPPORTED,
  OTHER_ERROR
}
 
- Public Types inherited from Fw::Serializable
using SizeType = FwSizeType
 
- Static Public Member Functions inherited from Os::RawTimeInterface
static RawTimeInterfacegetDelegate (RawTimeHandleStorage &aligned_new_memory, const RawTimeInterface *to_copy=nullptr)
 provide a pointer to a RawTime delegate object More...
 
- Static Public Attributes inherited from Os::RawTimeInterface
static const FwSizeType SERIALIZED_SIZE = FW_RAW_TIME_SERIALIZATION_MAX_SIZE
 
- Protected Member Functions inherited from Fw::Serializable
 Serializable ()
 Default constructor. More...
 
virtual ~Serializable ()
 Virtual destructor. More...
 

Detailed Description

Posix implementation of Os::RawTime.

Posix implementation of RawTimeInterface for use as a delegate class handling error-only file operations.

Definition at line 23 of file RawTime.hpp.

Constructor & Destructor Documentation

◆ PosixRawTime()

Os::Posix::RawTime::PosixRawTime::PosixRawTime ( )
default

constructor

◆ ~PosixRawTime()

Os::Posix::RawTime::PosixRawTime::~PosixRawTime ( )
overridedefault

destructor

Member Function Documentation

◆ deserializeFrom()

Fw::SerializeStatus Os::Posix::RawTime::PosixRawTime::deserializeFrom ( Fw::SerialBufferBase buffer,
Fw::Endianness  mode = Fw::Endianness::BIG 
)
overridevirtual

Deserialize the contents of the RawTimeInterface object from a buffer.

This function deserializes the contents of the RawTimeInterface object from the provided buffer.

Note
The serialization must fit within FW_RAW_TIME_SERIALIZATION_MAX_SIZE bytes. This value is defined in FpConfig.h. For example, Posix systems use a pair of U32 (sec, nanosec) and can therefore serialize in 8 bytes. Should an OSAL implementation require more than this, the project must increase that value in its config/ folder.
Parameters
bufferThe buffer to deserialize the contents from.
modeEndianness to use when deserializing from the buffer.
Returns
Fw::SerializeStatus indicating the result of the deserialization.

Implements Os::RawTimeInterface.

Definition at line 57 of file RawTime.cpp.

◆ getHandle()

RawTimeHandle * Os::Posix::RawTime::PosixRawTime::getHandle ( )
overridevirtual

return the underlying RawTime handle (implementation specific)

Returns
internal RawTime handle representation

Implements Os::RawTimeInterface.

Definition at line 74 of file RawTime.cpp.

◆ getTimeInterval()

PosixRawTime::Status Os::Posix::RawTime::PosixRawTime::getTimeInterval ( const Os::RawTime other,
Fw::TimeInterval interval 
) const
overridevirtual

Calculate the time interval between this and another raw time.

This function calculates the time interval between the current raw time and another specified raw time. The result is stored in the provided (output) interval object.

Parameters
otherThe other RawTimeHandle to compare against.
intervalOutput parameter to store the calculated time interval.
Returns
Status indicating the result of the operation.

Implements Os::RawTimeInterface.

Definition at line 23 of file RawTime.cpp.

◆ now()

PosixRawTime::Status Os::Posix::RawTime::PosixRawTime::now ( )
overridevirtual

Get the current time.

This function retrieves the current time and stores it in the RawTime object. Each implementation should define its RawTimeHandle type for storing the time.

Returns
Status indicating the result of the operation.

Implements Os::RawTimeInterface.

Definition at line 15 of file RawTime.cpp.

◆ serializeTo()

Fw::SerializeStatus Os::Posix::RawTime::PosixRawTime::serializeTo ( Fw::SerialBufferBase buffer,
Fw::Endianness  mode = Fw::Endianness::BIG 
) const
overridevirtual

Serialize the contents of the RawTimeInterface object into a buffer.

This function serializes the contents of the RawTimeInterface object into the provided buffer.

Note
The serialization must fit within FW_RAW_TIME_SERIALIZATION_MAX_SIZE bytes. This value is defined in FpConfig.h. For example, Posix systems use a pair of U32 (sec, nanosec) and can therefore serialize in 8 bytes. Should an OSAL implementation require more than this, the project must increase that value in its config/ folder.
Parameters
bufferThe buffer to serialize the contents into.
modeEndianness to use when serializing to buffer.
Returns
Fw::SerializeStatus indicating the result of the serialization.

Implements Os::RawTimeInterface.

Definition at line 47 of file RawTime.cpp.


The documentation for this class was generated from the following files: