pub struct Module {
pub id: ModuleId,
pub name: String,
pub path: Option<String>,
pub is_optimized: Option<bool>,
pub is_user_code: Option<bool>,
pub version: Option<String>,
pub symbol_status: Option<String>,
pub symbol_file_path: Option<String>,
pub date_time_stamp: Option<String>,
pub address_range: Option<String>,
/* private fields */
}
Expand description
A Module object represents a row in the modules view.
Two attributes are mandatory: an id identifies a module in the modules view and is used in a ModuleEvent for identifying a module for adding, updating or deleting.
The name is used to minimally render the module in the UI.
Additional attributes can be added to the module. They will show up in the module View if they have a corresponding ColumnDescriptor.
To avoid an unnecessary proliferation of additional attributes with similar semantics but different names
we recommend to re-use attributes from the ‘recommended’ list below first, and only introduce new attributes if nothing appropriate could be found.
Fields§
§id: ModuleId
Unique identifier for the module.
name: String
A name of the module.
path: Option<String>
optional but recommended attributes.
always try to use these first before introducing additional attributes.
Logical full path to the module. The exact definition is implementation defined, but usually this would be a full path to the on-disk file for the module.
is_optimized: Option<bool>
True if the module is optimized.
is_user_code: Option<bool>
True if the module is considered ‘user code’ by a debugger that supports ‘Just My Code’.
version: Option<String>
Version of Module.
symbol_status: Option<String>
User understandable description of if symbols were found for the module (ex: ‘Symbols Loaded’, ‘Symbols not found’, etc.
symbol_file_path: Option<String>
Logical full path to the symbol file. The exact definition is implementation defined.
date_time_stamp: Option<String>
Module created or modified.
address_range: Option<String>
Address range covered by this module.
Implementations§
Source§impl Module
impl Module
Sourcepub fn builder() -> ModuleBuilder<((), (), (), (), (), (), (), (), (), ())>
pub fn builder() -> ModuleBuilder<((), (), (), (), (), (), (), (), (), ())>
Create a builder for building Module
.
On the builder, call .id(...)
, .name(...)
, .path(...)
(optional), .is_optimized(...)
(optional), .is_user_code(...)
(optional), .version(...)
(optional), .symbol_status(...)
(optional), .symbol_file_path(...)
(optional), .date_time_stamp(...)
(optional), .address_range(...)
(optional) to set the values of the fields.
Finally, call .build()
to create the instance of Module
.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Module
impl<'de> Deserialize<'de> for Module
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Module
impl StructuralPartialEq for Module
Auto Trait Implementations§
impl Freeze for Module
impl RefUnwindSafe for Module
impl Send for Module
impl Sync for Module
impl Unpin for Module
impl UnwindSafe for Module
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.