Sequence Chart Studio  svn HEAD revision
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | List of all members
HMscDuplicator Class Reference

HMscDuplicator creates exact copy of HMsc. More...

#include <msc_duplicators.h>

Inheritance diagram for HMscDuplicator:
Inheritance graph
Collaboration diagram for HMscDuplicator:
Collaboration graph

Public Member Functions

 HMscDuplicator ()
 
HMscPtr duplicate (HMscPtr hmsc)
 
- Public Member Functions inherited from Duplicator
virtual ~Duplicator ()
 
MscElement *& get_copy (MscElement *e)
 
SuccessorNodeget_copy (SuccessorNode *s)
 
PredecessorNodeget_copy (PredecessorNode *p)
 
ReferenceNodeget_copy (ReferenceNode *p)
 
HMscget_copy (HMsc *p)
 
BMscget_copy (BMsc *p)
 
Mscget_copy (Msc *p)
 
MscElementPList get_m_modified_elements ()
 
void set_m_modified_elements (MscElementPList elements)
 
void set_copy (MscElement *original, MscElement *copy)
 
void cleanup_attributes ()
 

Private Member Functions

void inner_msc (ReferenceNode *)
 
void inner_msc_found (HMscPtr)
 
void inner_msc_found (BMscPtr)
 
HMscPtr create (HMsc *hmsc)
 
StartNodecreate (StartNode *n)
 
HMscNodecreate (ReferenceNode *n)
 
HMscNodecreate (EndNode *n)
 
HMscNodecreate (ConditionNode *n)
 
HMscNodecreate (ConnectionNode *n)
 
HMscNodePtr process_node (HMscNode *n)
 chooses right type of HMscNode, makes and sets copy, return copy More...
 
void create_node_relation (HMscNode *n)
 
void create_time_relation (HMscPtr)
 

Private Attributes

HMscPtr m_hmsc_root
 
std::set< HMsc * > m_hmscs
 
std::set< BMsc * > m_bmscs
 
std::stack< BMsc * > m_to_create_bm
 
std::stack< HMsc * > m_to_create_hm
 
std::stack< std::pair
< ReferenceNode *, Msc * > > 
m_to_set_up
 

Additional Inherited Members

- Protected Member Functions inherited from Duplicator
 Duplicator ()
 
- Protected Attributes inherited from Duplicator
MscElementPList m_modified_elements
 

Detailed Description

HMscDuplicator creates exact copy of HMsc.

Definition at line 197 of file msc_duplicators.h.

Constructor & Destructor Documentation

HMscDuplicator::HMscDuplicator ( )
inline

Definition at line 227 of file msc_duplicators.h.

Member Function Documentation

HMscPtr HMscDuplicator::create ( HMsc hmsc)
private

Definition at line 170 of file msc_duplicators.cpp.

References HMsc::get_start(), and Duplicator::set_copy().

Referenced by duplicate(), and process_node().

StartNode * HMscDuplicator::create ( StartNode n)
private

Definition at line 179 of file msc_duplicators.cpp.

References Duplicator::set_copy().

HMscNode * HMscDuplicator::create ( ReferenceNode n)
private

Definition at line 143 of file msc_duplicators.cpp.

References inner_msc().

HMscNode * HMscDuplicator::create ( EndNode n)
private

Definition at line 152 of file msc_duplicators.cpp.

HMscNode * HMscDuplicator::create ( ConditionNode n)
private

Definition at line 158 of file msc_duplicators.cpp.

HMscNode * HMscDuplicator::create ( ConnectionNode n)
private

Definition at line 164 of file msc_duplicators.cpp.

void HMscDuplicator::create_node_relation ( HMscNode n)
private
void HMscDuplicator::create_time_relation ( HMscPtr  hmsc)
private
HMscPtr HMscDuplicator::duplicate ( HMscPtr  hmsc)
void HMscDuplicator::inner_msc ( ReferenceNode ref)
private

Definition at line 243 of file msc_duplicators.cpp.

References ReferenceNode::get_msc(), inner_msc_found(), and m_to_set_up.

Referenced by create().

void HMscDuplicator::inner_msc_found ( HMscPtr  hmsc)
private

Definition at line 266 of file msc_duplicators.cpp.

References m_hmscs, and m_to_create_hm.

Referenced by inner_msc().

void HMscDuplicator::inner_msc_found ( BMscPtr  bmsc)
private

Definition at line 275 of file msc_duplicators.cpp.

References m_bmscs, and m_to_create_bm.

HMscNodePtr HMscDuplicator::process_node ( HMscNode n)
private

chooses right type of HMscNode, makes and sets copy, return copy

Definition at line 120 of file msc_duplicators.cpp.

References create(), and Duplicator::set_copy().

Referenced by duplicate().

Member Data Documentation

std::set<BMsc*> HMscDuplicator::m_bmscs
private

Definition at line 204 of file msc_duplicators.h.

Referenced by inner_msc_found().

HMscPtr HMscDuplicator::m_hmsc_root
private

Definition at line 201 of file msc_duplicators.h.

Referenced by duplicate().

std::set<HMsc*> HMscDuplicator::m_hmscs
private

Definition at line 203 of file msc_duplicators.h.

Referenced by duplicate(), and inner_msc_found().

std::stack<BMsc*> HMscDuplicator::m_to_create_bm
private

Definition at line 206 of file msc_duplicators.h.

Referenced by duplicate(), and inner_msc_found().

std::stack<HMsc*> HMscDuplicator::m_to_create_hm
private

Definition at line 207 of file msc_duplicators.h.

Referenced by duplicate(), and inner_msc_found().

std::stack<std::pair<ReferenceNode*,Msc*> > HMscDuplicator::m_to_set_up
private

Definition at line 208 of file msc_duplicators.h.

Referenced by duplicate(), and inner_msc().


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

SourceForge.net Logo
Generated on Fri Jan 15 2016 16:26:58 for Sequence Chart Studio by  doxygen