Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

Object Class Reference

#include <common.h>

Inheritance diagram for Object:

Address AddressQueueItem AddrXRef analy_string AnalyDisassembler Analyser AnalyserOutput Area Assembler ClassMethod CodeAnalyser DataAnalyser Disassembler ht_app_window_entry ht_blockop_int_context ht_blockop_str_context ht_clipboard_copy_history ht_context_menu ht_context_menu_entry ht_data_mem ht_data_ptr ht_data_string ht_data_uint ht_data_uint32 ht_elf32_reloc_entry ht_expr_search_pcontext ht_format_loc ht_format_viewer_entry ht_history_entry ht_il_metadata_entry ht_le_reloc_entry ht_list ht_listbox_ptr ht_listbox_vstate ht_log_msg ht_ltextfile_line ht_mod_page ht_ne_entrypoint ht_ne_reloc_entry ht_pe_export_function ht_pe_il ht_pe_import_function ht_pe_import_library ht_pe_resource_leaf ht_pe_resource_viewer_vstate ht_pef_import_function ht_pef_import_library ht_pef_reloc_entry ht_project_item ht_queued_msg ht_registry ht_registry_data ht_registry_node ht_registry_node_type_desc ht_replace_bin_context ht_search_bin_context ht_search_request ht_search_result ht_sub ht_syntax_lexer ht_tree ht_uformat_viewer_vstate ht_undo_data ht_view ht_vstate_history_entry ht_xbe_import_function info_history_entry info_node info_pos info_xref ne_import_rec OutAddr OutLine sectionAndIdx Segment state_mod sym_bool_token sym_bool_token_rec sym_int_token sym_int_token_rec UInt64 Vfs List of all members.

Public Member Functions

 Object ()
virtual ~Object ()
void init ()
virtual void done ()
virtual int compareTo (const Object *obj) const
virtual Objectduplicate ()
virtual bool idle ()
virtual bool instanceOf (OBJECT_ID id)
bool instanceOf (Object *o)
virtual int load (ht_object_stream *s)
virtual OBJECT_ID object_id () const
virtual void store (ht_object_stream *s)
virtual int toString (char *s, int maxlen)

Public Attributes

bool initialized
bool destroyed

Detailed Description

This is THE base class.

Definition at line 53 of file common.h.


Constructor & Destructor Documentation

Object::Object  ) 
 

Definition at line 27 of file common.cc.

References destroyed, and initialized.

Referenced by duplicate().

Object::~Object  )  [virtual]
 

Definition at line 35 of file common.cc.

References destroyed, and initialized.


Member Function Documentation

int Object::compareTo const Object obj  )  const [virtual]
 

Standard Object comparator.

Parameters:
obj object to compare to
Returns:
0 for equality, negative number if |this<obj| and positive number if |this>obj|

Reimplemented in Address, InvalidAddress, AddressFlat32, AddressFlat64, AddressX86Flat32, AddressX86_1616, AddressX86_1632, ClassMethod, and UInt64.

Definition at line 65 of file common.cc.

References assert.

Referenced by compare_keys_ht_data().

void Object::done  )  [virtual]
 

Reimplemented in AnalyDisassembler, Analyser, AnalyAlphaDisassembler, AnalyIA64Disassembler, AnalyILDisassembler, AnalyJavaDisassembler, AnalyPPCDisassembler, AnalyX86Disassembler, ClassAnalyser, CodeAnalyser, CoffAnalyser, DataAnalyser, ElfAnalyser, FLTAnalyser, analy_string, LEAnalyser, MachoAnalyser, NEAnalyser, PEAnalyser, PEFAnalyser, Area, XBEAnalyser, ht_blockop_dialog, cview, AnalyserInformation, SymbolBox, CallChain, AnalyInfoline, ht_analy_sub, ht_aviewer, ht_status, ht_keyline, ht_desktop, ht_logviewer, ht_file_window, ht_project, ht_project_item, ht_project_window, ht_app, ht_coff, ht_tree, ht_stree, ht_dtree, ht_list, ht_clist, ht_sorted_list, ht_dialog, ht_cluster, ht_checkboxes, ht_radioboxes, ht_inputfield, ht_strinputfield, ht_hexinputfield, ht_button, ht_listbox_title, ht_listbox, ht_text_listbox, ht_itext_listbox, ht_statictext, ht_listpopup_dialog, ht_listpopup, ht_label, ht_color_block, ht_disasm_viewer, ht_disasm_sub, ht_elf, ht_finfo_text, ht_flt, ht_viewer, ht_format_viewer, ht_format_group, ht_uformat_viewer, ht_sub, ht_linear_sub, ht_hex_sub, ht_mask_sub, ht_layer_sub, ht_collapsable_sub, ht_group_sub, ht_le, ht_macho, ht_context_menu, ht_static_context_menu, ht_menu, ht_context_menu_window_body, ht_menu_window, ht_menu_window_body, ht_menu_frame, ht_mz, ht_ne, ht_view, ht_group, ht_xgroup, ht_scrollbar, ht_frame, ht_window, ht_pe, ht_pe_export_viewer, ht_pef, ht_pef_import_viewer, ht_pe_il_viewer, ht_pe_import_viewer, ht_pe_resource_viewer, ht_registry_node, ht_registry, ht_search_dialog, ht_replace_dialog, ht_text_sub, ht_treeview, ht_static_treeview, ht_xbe, ht_xbe_import_viewer, ht_info_viewer, AnalyserOutput, AnalyserHTOutput, AnalyserTxtOutput, ht_lang_syntax_lexer, ht_c_syntax_lexer, ht_html_syntax_lexer, TerminalViewer, ht_text_viewer, ht_text_editor, LocalFs, RegistryFs, and VfsListbox.

Definition at line 53 of file common.cc.

References destroyed.

Referenced by ht_dtree::del(), ht_stree::del(), destroy_cpu(), ht_clist::do_free(), RegistryFs::done(), LocalFs::done(), ht_text_viewer::done(), ht_lang_syntax_lexer::done(), ht_registry_node::done(), ht_view::done(), ht_context_menu::done(), ht_sub::done(), ht_list::done(), ht_tree::done(), Analyser::done(), ht_stree::free_all(), ht_aviewer::handlemsg(), ht_static_treeviewdone_r(), ht_dtree::insert(), sym_int::replace(), sym_int::set(), ht_text_viewer::set_lexer(), ht_registry::set_node(), srt_x86_setreg(), ht_vstate_history_entry::~ht_vstate_history_entry(), sym_bool_token_rec::~sym_bool_token_rec(), and sym_int_token_rec::~sym_int_token_rec().

Object * Object::duplicate  )  [virtual]
 

Standard Object duplicator.

Returns:
copy of object

Reimplemented in InvalidAddress, AddressFlat32, AddressFlat64, AddressX86Flat32, AddressX86_1616, AddressX86_1632, UInt64, ht_clist, ht_fxbin_search_request, ht_regex_search_request, ht_expr_search_request, sym_int_reg, sym_int_mem, sym_int_reg_x86, sym_int_token_rec, sym_bool_token_rec, sym_int, sym_int_symbol, sym_bool_symbol, sym_bool_intcmp, and sym_bool.

Definition at line 75 of file common.cc.

References init(), and Object().

Referenced by XBEAnalyser::beginAnalysis(), PEFAnalyser::beginAnalysis(), PEAnalyser::beginAnalysis(), NEAnalyser::beginAnalysis(), MachoAnalyser::beginAnalysis(), LEAnalyser::beginAnalysis(), ElfAnalyser::beginAnalysis(), CoffAnalyser::beginAnalysis(), sym_bool::duplicate(), sym_bool_token_rec::duplicate(), sym_bool_intcmp::duplicate(), sym_int::duplicate(), sym_int_token_rec::duplicate(), sym_int_mem::duplicate(), htclassimage_init(), ht_analy_sub::init(), ht_uformat_viewer::psearch(), sym_int::replace(), ht_text_viewer::search(), ht_analy_sub::search(), sym_int::set(), sym_int::simplify_reduce_inverse(), AnalyInfoline::update(), and ht_uformat_viewer::vsearch().

bool Object::idle  )  [virtual]
 

Standard Object idle function. Overwrite and register with htidle.cc:register_idle()

Returns:
true if working, false if really idle

Reimplemented in AnalyserInformation, SymbolBox, ht_aviewer, ht_status, and TerminalViewer.

Definition at line 87 of file common.cc.

Referenced by do_idle().

void Object::init  ) 
 

Reimplemented in CommentList, Analyser, Area, ht_registry, ht_string_list, ht_c_syntax_lexer, ht_html_syntax_lexer, LocalFs, and RegistryFs.

Definition at line 46 of file common.cc.

References initialized.

Referenced by create_cpu(), XBEAnalyser::createAssembler(), PEAnalyser::createAssembler(), NEAnalyser::createAssembler(), LEAnalyser::createAssembler(), ElfAnalyser::createAssembler(), CoffAnalyser::createAssembler(), duplicate(), VfsListbox::init(), RegistryFs::init(), LocalFs::init(), ht_text_editor::init(), ht_text_viewer::init(), ht_text_editor_undo::init(), TerminalViewer::init(), ht_html_syntax_lexer::init(), ht_c_syntax_lexer::init(), ht_lang_syntax_lexer::init(), AnalyserTxtOutput::init(), AnalyserHTOutput::init(), ht_info_viewer::init(), ht_info_lexer::init(), ht_xbe_import_viewer::init(), ht_xbe_aviewer::init(), ht_xbe_header_viewer::init(), ht_xbe::init(), ht_static_treeview::init(), ht_treeview::init(), ht_text_sub::init(), ht_sorted_string_list::init(), ht_string_list::init(), ht_replace_dialog::init(), ht_search_dialog::init(), ht_replace_hexascii_search_form::init(), ht_expr_search_form::init(), ht_vregex_search_form::init(), ht_evalstr_search_form::init(), ht_hexascii_search_form::init(), ht_pe_resource_viewer::init(), ht_pe_import_viewer::init(), ht_pe_aviewer::init(), ht_pe_il_viewer::init(), ht_pe_header_viewer::init(), ht_pef_import_viewer::init(), ht_pef_aviewer::init(), ht_pef::init(), ht_pe_export_viewer::init(), ht_pe::init(), ht_window::init(), ht_frame::init(), ht_scrollbar::init(), ht_xgroup::init(), ht_group::init(), ht_view::init(), ht_ne_aviewer::init(), ht_ne::init(), ht_mz::init(), ht_menu_window_body::init(), ht_menu_window::init(), ht_context_menu_window_body::init(), ht_menu_frame::init(), ht_menu::init(), ht_static_context_menu::init(), ht_context_menu::init(), ht_macho_aviewer::init(), ht_macho::init(), ht_le_aviewer::init(), ht_le::init(), ht_group_sub::init(), ht_collapsable_sub::init(), ht_layer_sub::init(), ht_mask_sub::init(), ht_hex_sub::init(), ht_linear_sub::init(), ht_sub::init(), ht_uformat_viewer::init(), ht_format_viewer::init(), ht_viewer::init(), ht_format_group::init(), ht_flt_aviewer::init(), ht_flt::init(), ht_finfo_text::init(), ht_elf_aviewer::init(), ht_elf::init(), ht_disasm_sub::init(), ht_disasm_viewer::init(), ht_color_block::init(), ht_progress_indicator::init(), ht_label::init(), ht_listpopup::init(), ht_listpopup_dialog::init(), ht_statictext::init(), ht_itext_listbox::init(), ht_text_listbox::init(), ht_listbox::init(), ht_listbox_title::init(), ht_button::init(), ht_hexinputfield::init(), ht_strinputfield::init(), ht_inputfield::init(), ht_history_popup_dialog::init(), ht_history_listbox::init(), ht_radioboxes::init(), ht_checkboxes::init(), ht_cluster::init(), ht_dialog::init(), ht_sorted_list::init(), ht_clist::init(), ht_list::init(), ht_dtree::init(), ht_stree::init(), ht_tree::init(), ht_coff_aviewer::init(), ht_coff::init(), ht_clipboard_viewer::init(), ht_file_window::init(), ht_app::init(), ht_logviewer::init(), ht_log::init(), ht_desktop::init(), ht_keyline::init(), ht_status::init(), ht_project_window::init(), ht_project_listbox::init(), ht_project::init(), FileBrowser::init(), FileBrowserVfsListbox::init(), ht_analy_sub::init(), ht_aviewer::init(), AnalyInfoline::init(), CallChain::init(), SymbolBox::init(), AnalyserInformation::init(), cview::init(), ht_class_aviewer::init(), ht_blockop_dialog::init(), AnalyX86Disassembler::init(), AnalyPPCDisassembler::init(), AnalyJavaDisassembler::init(), AnalyILDisassembler::init(), AnalyIA64Disassembler::init(), AnalyAlphaDisassembler::init(), and CommentList::init().

bool Object::instanceOf Object o  ) 
 

Definition at line 100 of file common.cc.

References instanceOf(), and object_id().

bool Object::instanceOf OBJECT_ID  id  )  [virtual]
 

Returns:
true if |this| is an object or derived of an object of type |id|.

Reimplemented in UInt64.

Definition at line 95 of file common.cc.

References object_id().

Referenced by Area::contains(), and instanceOf().

int Object::load ht_object_stream s  )  [virtual]
 

loads object from object stream.

Returns:
ht_stream errorcode

Reimplemented in AddressFlat32, AddressFlat64, AnalyDisassembler, AddrXRef, AddressQueueItem, Analyser, AnalyAlphaDisassembler, AnalyJavaDisassembler, AddressX86Flat32, AddressX86_1616, AddressX86_1632, AnalyX86Disassembler, ClassAnalyser, CodeAnalyser, CoffAnalyser, DataAnalyser, ElfAnalyser, FLTAnalyser, LEAnalyser, MachoAnalyser, NEAnalyser, PEAnalyser, PEFAnalyser, Area, XBEAnalyser, Alphadis, javadis, x86dis, UInt64, ht_project, ht_project_item, ht_app, ht_data_uint, ht_data_uint32, ht_data_mem, ht_stree, ht_clist, ht_history_entry, ht_view, ht_group, ht_xgroup, ht_scrollbar, ht_frame, ht_window, palette_entry, ht_registry_data_stree, ht_registry_data_dword, ht_registry_data_raw, ht_registry_data_string, ht_registry_node_type_desc, ht_registry_node, ht_registry, and ht_data_string.

Definition at line 109 of file common.cc.

Referenced by ht_object_stream_inter::getObject(), and Alphadis::load().

OBJECT_ID Object::object_id  )  const [virtual]
 

Returns:
unique object id.

Reimplemented in InvalidAddress, AddressFlat32, AddressFlat64, AddrXRef, AddressQueueItem, AnalyAlphaDisassembler, AnalyIA64Disassembler, AnalyILDisassembler, AnalyJavaDisassembler, AnalyPPCDisassembler, AddressX86Flat32, AddressX86_1616, AddressX86_1632, AnalyX86Disassembler, ClassAnalyser, CodeAnalyser, CoffAnalyser, DataAnalyser, ElfAnalyser, FLTAnalyser, LEAnalyser, MachoAnalyser, NEAnalyser, PEAnalyser, PEFAnalyser, Area, XBEAnalyser, Alphadis, IA64Disassembler, ILDisassembler, javadis, PPCDisassembler, x86dis, x86dis_vxd, UInt64, ht_project, ht_project_item, ht_app, ht_data_uint, ht_data_uint32, ht_data_mem, ht_stree, ht_clist, ht_history_entry, ht_view, ht_group, ht_xgroup, ht_scrollbar, ht_frame, ht_window, palette_entry, ht_registry_data_stree, ht_registry_data_dword, ht_registry_data_raw, ht_registry_data_string, ht_registry_node_type_desc, ht_registry_node, ht_registry, ht_data_string, sym_int_reg, sym_int_mem, sym_int, sym_int_symbol, sym_bool_symbol, sym_bool_intcmp, sym_bool, ht_undo_data_delete_string, ht_undo_data_delete_string2, ht_undo_data_insert_string, ht_undo_data_overwrite_string, ht_undo_data_split_line, ht_undo_data_join_line, ht_undo_data_insert_block, and ht_undo_data_delete_block.

Definition at line 117 of file common.cc.

References ATOM_OBJECT.

Referenced by sym_int::b_operate(), ht_undo_data_overwrite_string::combine(), ht_undo_data_insert_string::combine(), ht_undo_data_delete_string2::combine(), ht_undo_data_delete_string::combine(), sym_int::comp_eq(), AddressX86_1616::compareDelinear(), AddressX86_1632::compareDelinear(), AddressX86Flat32::compareDelinear(), AddressFlat64::compareDelinear(), AddressFlat32::compareDelinear(), AddressX86_1616::compareTo(), AddressX86_1632::compareTo(), AddressX86Flat32::compareTo(), AddressFlat64::compareTo(), AddressFlat32::compareTo(), ElfAnalyser::convertAddressToELFAddress(), FLTAnalyser::convertAddressToFLTAddress(), LEAnalyser::convertAddressToLEAddress(), MachoAnalyser::convertAddressToMACHOAddress(), NEAnalyser::convertAddressToNEAddress(), PEFAnalyser::convertAddressToPEFAddress(), XBEAnalyser::convertAddressToRVA(), PEAnalyser::convertAddressToRVA(), CoffAnalyser::convertAddressToRVA(), AddressX86_1616::difference(), AddressX86_1632::difference(), AddressX86Flat32::difference(), AddressFlat64::difference(), AddressFlat32::difference(), CommentList::getName(), AnalyX86Disassembler::getSegment(), instanceOf(), ht_object_stream_inter::putObject(), sym_int::replace(), sym_int::set(), sym_int::simplify_reduce_inverse(), test_srt(), and toString().

void Object::store ht_object_stream s  )  [virtual]
 

stores object.

Reimplemented in AddressFlat32, AddressFlat64, AnalyDisassembler, AddrXRef, AddressQueueItem, Analyser, AnalyAlphaDisassembler, AnalyJavaDisassembler, AddressX86Flat32, AddressX86_1616, AddressX86_1632, AnalyX86Disassembler, ClassAnalyser, CodeAnalyser, CoffAnalyser, DataAnalyser, ElfAnalyser, FLTAnalyser, LEAnalyser, MachoAnalyser, NEAnalyser, PEAnalyser, PEFAnalyser, Area, XBEAnalyser, Alphadis, javadis, x86dis, UInt64, ht_project, ht_project_item, ht_app, ht_data_uint, ht_data_uint32, ht_data_mem, ht_stree, ht_clist, ht_history_entry, ht_view, ht_group, ht_xgroup, ht_scrollbar, ht_frame, ht_window, palette_entry, ht_registry_data_stree, ht_registry_data_dword, ht_registry_data_raw, ht_registry_data_string, ht_registry_node_type_desc, ht_registry_node, ht_registry, and ht_data_string.

Definition at line 125 of file common.cc.

Referenced by ht_object_stream_inter::putObject(), and Alphadis::store().

int Object::toString char *  s,
int  maxlen
[virtual]
 

Prints object in string |s|

Returns:
number of characters written in s

Reimplemented in Address, UInt64, and ht_data_string.

Definition at line 133 of file common.cc.

References ht_snprintf(), and object_id().


Member Data Documentation

bool Object::destroyed
 

Definition at line 57 of file common.h.

Referenced by done(), Object(), and ~Object().

bool Object::initialized
 

Reimplemented in Analyser.

Definition at line 56 of file common.h.

Referenced by init(), Object(), and ~Object().


The documentation for this class was generated from the following files:
Generated on Fri May 7 21:16:08 2004 by doxygen 1.3.5