#include <struct_utils.hpp>
Public Member Functions | |
| std::string | str (std::shared_ptr< arion::Arion > arion, uint64_t val) override |
Public Member Functions inherited from arion_type::KernelType | |
| virtual | ~KernelType ()=default |
| Virtual destructor to allow polymorphic deletion. | |
| arion::LOG_COLOR | get_color () |
Protected Member Functions | |
| ArionVariableStructType (std::string name) | |
Protected Member Functions inherited from arion_type::KernelType | |
| KernelType (std::string name, arion::LOG_COLOR color=arion::LOG_COLOR::DEFAULT) | |
Private Member Functions | |
| virtual std::shared_ptr< arion_poly_struct::AbsArionStructType > | process (std::shared_ptr< arion::Arion > arion, uint64_t val)=0 |
Represents a variable polymorphic structure type (e.g., sockaddr), where the final structure type depends on runtime data (like a family field).
|
inlineprotected |
Builder for ArionVariableStructType instances.
| [in] | name | The display name of the structure type. |
|
privatepure virtual |
**(Pure Virtual)** Logic to dynamically determine the concrete structure type based on the content of the emulated memory.
| [in] | arion | Shared pointer to the Arion instance. |
| [in] | val | The memory address pointing to the generic structure. |
AbsArionStructType instance (e.g., StructSockaddrInType). Implemented in arion_lnx_type::StructSockaddrType.
|
inlineoverridevirtual |
Overrides the string conversion to first call process to determine the concrete type, and then uses that concrete type's str method.
| [in] | arion | Shared pointer to the Arion instance. |
| [in] | val | The memory address pointing to the generic structure. |
Reimplemented from arion_type::KernelType.