Mass++ Common Libraries v2.7.5
 All Classes Namespaces Files Functions Variables Enumerations Macros
DataManager.h
Go to the documentation of this file.
1 
12 #ifndef __KOME_OBJECTS_DATA_MANAGER_H__
13 #define __KOME_OBJECTS_DATA_MANAGER_H__
14 
15 
16 #include <vector>
17 
18 
19 namespace kome {
20  namespace objects {
21 
22  class Sample;
23  class Spectrum;
24  class Chromatogram;
25  class DataMapInfo;
26 
31  class DATA_OBJECTS_CLASS DataManager {
32  protected:
37  DataManager();
38 
43  virtual ~DataManager();
44 
45  protected:
47  int m_order;
48 
49  protected:
51  static std::vector< DataManager* > m_dataMgrs;
52 
54  static bool m_sorted;
55 
56  protected:
62  virtual void onOpenSample( Sample* sample ) = 0;
63 
70  virtual void onCloseSample( Sample* sample, const bool deleting ) = 0;
71 
77  virtual void onOpenSpectrum( Spectrum* spec ) = 0;
78 
85  virtual void onCloseSpectrum( Spectrum* spec, const bool deleting ) = 0;
86 
92  virtual void onOpenChromatogram( Chromatogram* chrom ) = 0;
93 
100  virtual void onCloseChromatogram( Chromatogram* chrom, const bool deleting ) = 0;
101 
107  virtual void onOpenDataMap( DataMapInfo* dataMap ) = 0;
108 
115  virtual void onCloseDataMap( DataMapInfo* dataMap, const bool deleting ) = 0;
116 
117  public:
123  static void openSample( Sample* sample );
124 
131  static void closeSample( Sample* sample, const bool deleting );
132 
138  static void openSpectrum( Spectrum* spec );
139 
146  static void closeSpectrum( Spectrum* spec, const bool deleting );
147 
153  static void openChromatogram( Chromatogram* chrom );
154 
161  static void closeChromatogram( Chromatogram* chrom, const bool deleting );
162 
168  static void openDataMap( DataMapInfo* dataMap );
169 
176  static void closeDataMap( DataMapInfo* dataMap, const bool deleting );
177 
178  protected:
185  static bool lessManager( DataManager* dm0, DataManager* dm1 );
186 
191  static void sortDataManagers();
192  };
193  }
194 }
195 
196 #endif // __KOME_OBJECTS_DATA_MANAGER_H__
197 
sample information management class
Definition: Sample.h:34
data management abstract class
Definition: DataManager.h:31
static std::vector< DataManager * > m_dataMgrs
Definition: DataManager.h:51
deta map information
Definition: DataMapInfo.h:31
spectrum information management class
Definition: Spectrum.h:30
chromatogram information management class
Definition: Chromatogram.h:33