Mass++ mzML IO Plugin v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations
Accession.cpp
Go to the documentation of this file.
1 
12 #include "stdafx.h"
13 #include "Accession.h"
14 
15 
16 using namespace kome::io::mzml;
17 
18 
19 #include <crtdbg.h>
20 #ifdef _DEBUG
21  #define new new( _NORMAL_BLOCK, __FILE__, __LINE__ )
22  #define malloc( s ) _malloc_dbg( s, _NORMAL_BLOCK, __FILE__, __LINE__ )
23 #endif // _DEBUG
24 
25 
26 
27 // constructor
28 Accession::Accession( const char* id, const char* name ) {
29  m_id = NVL( id, "" );
30  m_name = NVL( name, "" );
31  m_parent = NULL;
32  m_origin = NULL;
33 }
34 
35 // constructor
36 Accession::Accession( const char* id ) {
37  m_id = NVL( id, "" );
38  m_parent = NULL;
39  m_origin = NULL;
40 }
41 
42 // destructor
44 }
45 
46 // get ID
47 const char* Accession::getId() {
48  return m_id.c_str();
49 }
50 
51 // set name
52 void Accession::setName( const char* name ) {
53  m_name = NVL( name, "" );
54 }
55 
56 // get name
57 const char* Accession::getName() {
58  return m_name.c_str();
59 }
60 
61 // set parent accession
63  m_parent = parent;
64 }
65 
66 // get parent accession
68  return m_parent;
69 }
70 
71 // get origin
73  // check members
74  if( m_parent == NULL ) {
75  return this;
76  }
77 
78  if( m_origin != NULL ) {
79  return m_origin;
80  }
81 
82  // search origin
83  Accession* origin = this;
84 
85  std::set< Accession* > accSet;
86 
87  do {
88  accSet.insert( origin );
89  origin = origin->getParent();
90  } while( origin != NULL && origin->getParent() != NULL
91  && accSet.find( origin->getParent() ) == accSet.end() );
92 
93  m_origin = NVL( origin, this );
94 
95  return m_origin;
96 }
void setParent(Accession *parent)
sets parent accession
Definition: Accession.cpp:62
virtual ~Accession()
destructor
Definition: Accession.cpp:43
const char * getId()
gets accession ID
Definition: Accession.cpp:47
const char * getName()
gets accession name
Definition: Accession.cpp:57
Accession * getOrigin()
gets origin accesion
Definition: Accession.cpp:72
common header file
interfaces of Accession class
accession information class
Definition: Accession.h:24
void setName(const char *name)
Definition: Accession.cpp:52
Accession * getParent()
gets parent accession
Definition: Accession.cpp:67
Accession(const char *id, const char *name)
constructor
Definition: Accession.cpp:28