DaVinci Class Reference

#include <DaVinci.h>

Collaboration diagram for DaVinci:
Collaboration graph
[legend]

List of all members.

Classes

class  IO

Public Member Functions

 DaVinci (MEM_POOL *m, FILE *trace_fp=NULL, bool usage_check=false)
 ~DaVinci ()
bool is_ok () const
 DaVinci (const DaVinci &)
void operator= (const DaVinci &)
void Event_Loop (DaVinci_Callback *cb_hook)
void Exit_Event_Loop ()
DA_ACK Title (const char *title)
DA_ACK Show_Status (const char *status)
DA_ACK Show_Message (const char *msg)
DA_ACK Menu_Create (INT n_items, const MENU_INFO *items)
DA_ACK Menu_Activate (INT n_ids, const char *ids[])
DA_ACK Menu_Deactivate (INT n_ids, const char *ids[])
void Graph_Begin ()
void Node_Begin (NODE_ID id, const char *label, const NODE_TYPE &node_type)
void Out_Edge (const EDGE_ID &edge_id, const EDGE_TYPE &edge_type, const NODE_ID dest_id)
void Node_End ()
DA_ACK Graph_End ()
DA_ACK Change_Attr (const NODE_ID node_id, const NODE_TYPE &nt, const char *new_label=NULL)
DA_ACK Change_Attr (const EDGE_ID &edge_id, const EDGE_TYPE &et)
void Update_Begin ()
void New_Node (NODE_ID id, const char *label, const NODE_TYPE &nt)
void New_Edge (const EDGE_ID &id, const EDGE_TYPE &et, NODE_ID src, NODE_ID dst)
DA_ACK Update_End ()

Static Public Member Functions

static bool enabled (bool msg)

Private Types

typedef UINT32 FTAG
typedef FTAG FTAGS

Private Member Functions

const char * Ft_Str (const FTAG ftag)
void Usage_Error (FTAG curr, FTAGS prereq)
bool Usage_Ok (FTAG curr, FTAGS prereq)
DA_ACK Wait_For_Ack ()
DA_ACK Emit_Ack (const char *line)
void Emit_Do (const char *line)
const char * Parse_Menu_Label (const char *epfx)
bool Parse_Event (const char *line, EVENT_T *event)
bool Parse_Node_Ids (const char *epfx, INT *n_nodes, NODE_ID **node_ids)
void Emit_Menu (INT n_items, const MENU_INFO *items)
void Emit_Attr (const NODE_TYPE &nt, char **comma)
void Emit_Attr (const EDGE_TYPE &et)
void Menu_Basic_Do (const char *label)
DA_ACK Menu_Set_Active ()
void Kill_Davinci ()

Private Attributes

IO _io
MEM_POOL_m
queue< EVENT_T_event_q
set< NODE_ID_node_def_set
set< NODE_ID_node_ref_set
Menu_info _menu_state
bool _basic_menu_added
bool _in_event_loop
bool _display_ok
bool _usage_check
FTAG _ftag_last
INT _node_cnt
INT _edge_cnt
pid_t _pid

Detailed Description

Definition at line 375 of file DaVinci.h.


Member Typedef Documentation

typedef UINT32 DaVinci::FTAG [private]

Definition at line 399 of file DaVinci.h.

typedef FTAG DaVinci::FTAGS [private]

Definition at line 400 of file DaVinci.h.


Constructor & Destructor Documentation

DaVinci::DaVinci ( MEM_POOL m,
FILE *  trace_fp = NULL,
bool  usage_check = false 
)
DaVinci::~DaVinci (  ) 

Definition at line 760 of file DaVinci.cxx.

DaVinci::DaVinci ( const DaVinci  ) 

Member Function Documentation

DA_ACK DaVinci::Change_Attr ( const EDGE_ID edge_id,
const EDGE_TYPE et 
)

Definition at line 1032 of file DaVinci.cxx.

References _io, BASE_SET, EDGE_ID::dst, Emit_Attr(), FT_CHANGE_ATTR, DaVinci::IO::Out_Fmt(), EDGE_ID::src, Usage_Ok(), and Wait_For_Ack().

Here is the call graph for this function:

DA_ACK DaVinci::Change_Attr ( const NODE_ID  node_id,
const NODE_TYPE nt,
const char *  new_label = NULL 
)

Definition at line 1010 of file DaVinci.cxx.

References _io, BASE_SET, comma, Emit_Attr(), FT_CHANGE_ATTR, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Referenced by Callback::Edge_Select().

Here is the call graph for this function:

DA_ACK DaVinci::Emit_Ack ( const char *  line  )  [inline, private]

Definition at line 432 of file DaVinci.h.

References _io, NULL, DaVinci::IO::Out_Fmt(), and Wait_For_Ack().

Referenced by Emit_Do().

Here is the call graph for this function:

void DaVinci::Emit_Attr ( const EDGE_TYPE et  )  [private]
void DaVinci::Emit_Attr ( const NODE_TYPE nt,
char **  comma 
) [private]
void DaVinci::Emit_Do ( const char *  line  )  [inline, private]

Definition at line 438 of file DaVinci.h.

References Emit_Ack(), and fprintf().

Referenced by DaVinci().

Here is the call graph for this function:

void DaVinci::Emit_Menu ( INT  n_items,
const MENU_INFO items 
) [private]

Definition at line 528 of file DaVinci.cxx.

References _io, _menu_state, DM_ACTIVE, DM_INACTIVE, INT, DaVinci::IO::Out_Fmt(), and Menu_info::Set().

Referenced by Menu_Create().

Here is the call graph for this function:

static bool DaVinci::enabled ( bool  msg  )  [inline, static]

Definition at line 458 of file DaVinci.h.

References DevWarn(), getenv(), and NULL.

Referenced by dV_view_whirl().

Here is the call graph for this function:

void DaVinci::Event_Loop ( DaVinci_Callback cb_hook  ) 
void DaVinci::Exit_Event_Loop (  ) 

Definition at line 856 of file DaVinci.cxx.

References _in_event_loop.

Referenced by Menu_Basic_Do().

const char * DaVinci::Ft_Str ( const FTAG  ftag  )  [private]
void DaVinci::Graph_Begin (  ) 

Definition at line 928 of file DaVinci.cxx.

References _io, _node_cnt, BASE_SET, FT_GRAPH_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Referenced by draw_whirl_tree().

Here is the call graph for this function:

DA_ACK DaVinci::Graph_End (  ) 

Definition at line 988 of file DaVinci.cxx.

References _io, _node_def_set, _node_ref_set, _usage_check, fprintf(), FT_GRAPH_BEGIN, FT_GRAPH_END, FT_NODE_END, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Referenced by draw_whirl_tree().

Here is the call graph for this function:

bool DaVinci::is_ok (  )  const [inline]

Definition at line 474 of file DaVinci.h.

References _display_ok.

void DaVinci::Kill_Davinci (  )  [private]

Definition at line 668 of file DaVinci.cxx.

References _display_ok, _io, _pid, DaVinci::IO::Close(), INT, stat, and waitpid.

Here is the call graph for this function:

DA_ACK DaVinci::Menu_Activate ( INT  n_ids,
const char *  ids[] 
)

Definition at line 906 of file DaVinci.cxx.

References _menu_state, BASE_SET, DM_ACTIVE, FT_MENU_ACTIVATE, INT, Menu_Set_Active(), Menu_info::Set(), and Usage_Ok().

Here is the call graph for this function:

void DaVinci::Menu_Basic_Do ( const char *  label  )  [private]

Definition at line 641 of file DaVinci.cxx.

References Exit_Event_Loop().

Referenced by Event_Loop().

Here is the call graph for this function:

DA_ACK DaVinci::Menu_Create ( INT  n_items,
const MENU_INFO items 
)

Definition at line 889 of file DaVinci.cxx.

References _io, BASE_SET, Emit_Menu(), FT_MENU_CREATE, Menu_Set_Active(), NULL, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Referenced by dV_view_whirl(), and Event_Loop().

Here is the call graph for this function:

DA_ACK DaVinci::Menu_Deactivate ( INT  n_ids,
const char *  ids[] 
)

Definition at line 917 of file DaVinci.cxx.

References _menu_state, BASE_SET, DM_INACTIVE, FT_MENU_DEACTIVATE, INT, Menu_Set_Active(), Menu_info::Set(), and Usage_Ok().

Here is the call graph for this function:

DA_ACK DaVinci::Menu_Set_Active (  )  [private]

Definition at line 649 of file DaVinci.cxx.

References _io, _menu_state, DM_ACTIVE, Menu_info::items, DaVinci::IO::Out_Fmt(), and Wait_For_Ack().

Referenced by Menu_Activate(), Menu_Create(), and Menu_Deactivate().

Here is the call graph for this function:

void DaVinci::New_Edge ( const EDGE_ID id,
const EDGE_TYPE et,
NODE_ID  src,
NODE_ID  dst 
)

Definition at line 1072 of file DaVinci.cxx.

References _edge_cnt, _io, Emit_Attr(), FT_NEW_EDGE, FT_NEW_NODE, FT_UPDATE_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Here is the call graph for this function:

void DaVinci::New_Node ( NODE_ID  id,
const char *  label,
const NODE_TYPE nt 
)

Definition at line 1055 of file DaVinci.cxx.

References _edge_cnt, _io, _node_cnt, comma, Emit_Attr(), fprintf(), FT_NEW_NODE, FT_UPDATE_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Here is the call graph for this function:

void DaVinci::Node_Begin ( NODE_ID  id,
const char *  label,
const NODE_TYPE node_type 
)

Definition at line 937 of file DaVinci.cxx.

References _edge_cnt, _io, _node_cnt, _node_def_set, NODE_TYPE::_type_name, _usage_check, comma, Emit_Attr(), fprintf(), FT_GRAPH_BEGIN, FT_NODE_BEGIN, FT_NODE_END, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Referenced by draw_expr(), and draw_stmt().

Here is the call graph for this function:

void DaVinci::Node_End (  ) 

Definition at line 980 of file DaVinci.cxx.

References _io, FT_NODE_BEGIN, FT_NODE_END, FT_OUT_EDGE, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Referenced by draw_expr(), and draw_stmt().

Here is the call graph for this function:

void DaVinci::operator= ( const DaVinci  ) 
void DaVinci::Out_Edge ( const EDGE_ID edge_id,
const EDGE_TYPE edge_type,
const NODE_ID  dest_id 
)

Definition at line 961 of file DaVinci.cxx.

References _edge_cnt, _io, _node_ref_set, EDGE_TYPE::_type_name, _usage_check, EDGE_ID::dst, Emit_Attr(), FT_NODE_BEGIN, FT_OUT_EDGE, DaVinci::IO::Out_Fmt(), EDGE_ID::src, and Usage_Ok().

Referenced by draw_expr(), and draw_stmt().

Here is the call graph for this function:

bool DaVinci::Parse_Event ( const char *  line,
EVENT_T event 
) [private]
const char * DaVinci::Parse_Menu_Label ( const char *  epfx  )  [private]

Definition at line 424 of file DaVinci.cxx.

References _menu_state, Menu_info::Add(), fprintf(), INT, len, MAX_MENU_LABEL_LEN, and NULL.

Referenced by Parse_Event().

Here is the call graph for this function:

bool DaVinci::Parse_Node_Ids ( const char *  epfx,
INT n_nodes,
NODE_ID **  node_ids 
) [private]

Definition at line 360 of file DaVinci.cxx.

References _m, CXX_NEW_ARRAY, fprintf(), INT, NULL, and sp.

Referenced by Parse_Event().

Here is the call graph for this function:

DA_ACK DaVinci::Show_Message ( const char *  msg  ) 

Definition at line 880 of file DaVinci.cxx.

References _io, BASE_SET, FT_SHOW_MESSAGE, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Here is the call graph for this function:

DA_ACK DaVinci::Show_Status ( const char *  status  ) 

Definition at line 871 of file DaVinci.cxx.

References _io, BASE_SET, FT_SHOW_STATUS, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Here is the call graph for this function:

DA_ACK DaVinci::Title ( const char *  title  ) 

Definition at line 862 of file DaVinci.cxx.

References _io, BASE_SET, FT_TITLE, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Referenced by dV_view_whirl().

Here is the call graph for this function:

void DaVinci::Update_Begin (  ) 

Definition at line 1045 of file DaVinci.cxx.

References _edge_cnt, _io, _node_cnt, BASE_SET, FT_UPDATE_BEGIN, DaVinci::IO::Out_Fmt(), and Usage_Ok().

Here is the call graph for this function:

DA_ACK DaVinci::Update_End (  ) 

Definition at line 1091 of file DaVinci.cxx.

References _edge_cnt, _io, FT_NEW_EDGE, FT_NEW_NODE, FT_UPDATE_BEGIN, FT_UPDATE_END, DaVinci::IO::Out_Fmt(), Usage_Ok(), and Wait_For_Ack().

Here is the call graph for this function:

void DaVinci::Usage_Error ( FTAG  curr,
FTAGS  prereq 
) [private]

Definition at line 308 of file DaVinci.cxx.

References _display_ok, _ftag_last, comma, fprintf(), FT_DAVINCI, and Ft_Str().

Referenced by Usage_Ok().

Here is the call graph for this function:

bool DaVinci::Usage_Ok ( FTAG  curr,
FTAGS  prereq 
) [inline, private]
DA_ACK DaVinci::Wait_For_Ack (  )  [private]

Member Data Documentation

Definition at line 410 of file DaVinci.h.

Referenced by DaVinci(), and Event_Loop().

bool DaVinci::_display_ok [private]

Definition at line 412 of file DaVinci.h.

Referenced by DaVinci(), Event_Loop(), is_ok(), Kill_Davinci(), Usage_Error(), Usage_Ok(), and Wait_For_Ack().

Definition at line 416 of file DaVinci.h.

Referenced by DaVinci(), New_Edge(), New_Node(), Node_Begin(), Out_Edge(), Update_Begin(), and Update_End().

queue<EVENT_T> DaVinci::_event_q [private]

Definition at line 405 of file DaVinci.h.

Referenced by Event_Loop(), and Wait_For_Ack().

Definition at line 414 of file DaVinci.h.

Referenced by DaVinci(), Usage_Error(), and Usage_Ok().

bool DaVinci::_in_event_loop [private]

Definition at line 411 of file DaVinci.h.

Referenced by DaVinci(), Event_Loop(), and Exit_Event_Loop().

IO DaVinci::_io [private]
MEM_POOL* DaVinci::_m [private]

Definition at line 403 of file DaVinci.h.

Referenced by DaVinci(), and Parse_Node_Ids().

Definition at line 415 of file DaVinci.h.

Referenced by DaVinci(), Graph_Begin(), New_Node(), Node_Begin(), and Update_Begin().

Definition at line 407 of file DaVinci.h.

Referenced by Graph_End(), and Node_Begin().

Definition at line 408 of file DaVinci.h.

Referenced by Graph_End(), and Out_Edge().

pid_t DaVinci::_pid [private]

Definition at line 417 of file DaVinci.h.

Referenced by DaVinci(), and Kill_Davinci().

bool DaVinci::_usage_check [private]

Definition at line 413 of file DaVinci.h.

Referenced by DaVinci(), Graph_End(), Node_Begin(), and Out_Edge().


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

Generated on Tue Nov 17 06:38:45 2009 for Open64 (mfef90, whirl2f, and IR tools) by  doxygen 1.6.1