Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

FileTypes.h

Go to the documentation of this file.
00001 // --------------------------------------------------------------------------
00002 //                   OpenMS -- Open-Source Mass Spectrometry
00003 // --------------------------------------------------------------------------
00004 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
00005 // ETH Zurich, and Freie Universitaet Berlin 2002-2012.
00006 //
00007 // This software is released under a three-clause BSD license:
00008 //  * Redistributions of source code must retain the above copyright
00009 //    notice, this list of conditions and the following disclaimer.
00010 //  * Redistributions in binary form must reproduce the above copyright
00011 //    notice, this list of conditions and the following disclaimer in the
00012 //    documentation and/or other materials provided with the distribution.
00013 //  * Neither the name of any author or any participating institution
00014 //    may be used to endorse or promote products derived from this software
00015 //    without specific prior written permission.
00016 // For a full list of authors, refer to the file AUTHORS.
00017 // --------------------------------------------------------------------------
00018 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00019 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00020 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00021 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
00022 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00023 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00024 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00025 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00026 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00027 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
00028 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00029 //
00030 // --------------------------------------------------------------------------
00031 // $Maintainer: Stephan Aiche $
00032 // $Authors: Andreas Bertsch, Marc Sturm, Stephan Aiche $
00033 // --------------------------------------------------------------------------
00034 
00035 #ifndef OPENMS_FORMAT_FILETYPES_H
00036 #define OPENMS_FORMAT_FILETYPES_H
00037 
00038 #include <OpenMS/config.h>
00039 #include <OpenMS/DATASTRUCTURES/String.h>
00040 
00041 #include <string>
00042 #include <map>
00043 
00044 namespace OpenMS
00045 {
00054   struct OPENMS_DLLAPI FileTypes
00055   {
00056     //NOTE: if you change/add something here, do not forget to change FileTyoes::initializeMap_
00057 
00059     enum Type
00060     {
00061       UNKNOWN,            
00062       DTA,                
00063       DTA2D,              
00064       MZDATA,             
00065       MZXML,              
00066       FEATUREXML,         
00067       IDXML,              
00068       CONSENSUSXML,       
00069       MGF,                
00070       INI,                
00071       TOPPAS,             
00072       TRANSFORMATIONXML,  
00073       MZML,               
00074       MS2,                
00075       PEPXML,             
00076       PROTXML,            
00077       MZIDENTML,          
00078       MZQUANTML,          
00079       QCML,               
00080       GELML,              
00081       TRAML,              
00082       MSP,                
00083       OMSSAXML,           
00084       MASCOTXML,          
00085       PNG,                
00086       XMASS,              
00087       TSV,                
00088       PEPLIST,            
00089       HARDKLOER,          
00090       KROENIK,            
00091       FASTA,              
00092       EDTA,               
00093       CSV,                
00094       TXT,                
00095       OBO,                
00096       HTML,               
00097       XML,                
00098       ANALYSISXML,        
00099       XSD,                
00100       PSQ,                
00101       SIZE_OF_TYPE        
00102     };
00103 
00105     static String typeToName(Type type);
00106 
00108     static Type nameToType(const String& name);
00109 
00110 private:
00112     static const std::map<Type, String> name_of_types_;
00113 
00115     static std::map<Type, String> initializeMap_();
00116   };
00117 
00118 } //namespace OpenMS
00119 
00120 #endif //OPENMS_FORMAT_FILETYPES_H

OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:39 using doxygen 1.7.1