fprime/Fw/Types/FileNameString.cpp
Rob Bocchino b89b5d91c4
Add DpWriter (#2593)
* Pull in framework changes from data-products branch

* Pull in changes to DpManager from data-products branch

* Pull in DpWriter from data-products branch

* Fix spelling

* Revise FileNameString

* Fix warnings in CI

* Fix static analysis warnings

* Fix static analysis warnings

* Revise formatting and comments

* Revise banner comments

* Revise FileNameString per PR comment

* Revise path names in config headers

If a header H.hpp exists in the F Prime source base, then

is dangerous. Because [project root] and [fprime root] are both
in the list of include paths, it's not clear whether this means "include
[project root]/config/H.hpp" or "include [fprime root]/config/H.hpp."

On the other hand,

or

has no such ambiguity, because only one of [project root]/config
and [fprime root]/config is in the list of include paths.

* Revise path names in config headers

If a header H.hpp exists in the F Prime source base, then

`#include "config/H.hpp"`

is dangerous. Because [project root] and [fprime root] are both
in the list of include paths, it's not clear whether this means "include
[project root]/config/H.hpp" or "include [fprime root]/config/H.hpp."

On the other hand,

include <config/H.hpp>

or

`#include "config/H.hpp"`

has no such ambiguity, because only one of [project root]/config
and [fprime root]/config is in the list of include paths.
2024-03-28 16:09:38 -07:00

55 lines
1.5 KiB
C++

#include "Fw/Types/FileNameString.hpp"
#include "Fw/Types/StringUtils.hpp"
namespace Fw {
FileNameString::FileNameString(const char* src) : StringBase() {
(void)Fw::StringUtils::string_copy(this->m_buf, src, sizeof(this->m_buf));
}
FileNameString::FileNameString(const StringBase& src) : StringBase() {
(void)Fw::StringUtils::string_copy(this->m_buf, src.toChar(), sizeof(this->m_buf));
}
FileNameString::FileNameString(const FileNameString& src) : StringBase() {
(void)Fw::StringUtils::string_copy(this->m_buf, src.toChar(), sizeof(this->m_buf));
}
FileNameString::FileNameString() : StringBase() {
this->m_buf[0] = 0;
}
FileNameString& FileNameString::operator=(const FileNameString& other) {
if (this == &other) {
return *this;
}
(void)Fw::StringUtils::string_copy(this->m_buf, other.toChar(), sizeof(this->m_buf));
return *this;
}
FileNameString& FileNameString::operator=(const StringBase& other) {
if (this == &other) {
return *this;
}
(void)Fw::StringUtils::string_copy(this->m_buf, other.toChar(), sizeof(this->m_buf));
return *this;
}
FileNameString& FileNameString::operator=(const char* other) {
Fw::StringUtils::string_copy(this->m_buf, other, sizeof(this->m_buf));
return *this;
}
FileNameString::~FileNameString() {}
const char* FileNameString::toChar() const {
return this->m_buf;
}
NATIVE_UINT_TYPE FileNameString::getCapacity() const {
return STRING_SIZE;
}
} // namespace Fw