ProteoWizard
DelimReader.hpp
Go to the documentation of this file.
1 //
2 // $Id: DelimReader.hpp 2820 2011-06-27 22:51:16Z chambm $
3 //
4 //
5 // Origional author: Robert Burke <robert.burke@proteowizard.org>
6 //
7 // Copyright 2010 Spielberg Family Center for Applied Proteomics
8 // University of Southern California, Los Angeles, California 90033
9 //
10 // Licensed under the Apache License, Version 2.0 (the "License");
11 // you may not use this file except in compliance with the License.
12 // You may obtain a copy of the License at
13 //
14 // http://www.apache.org/licenses/LICENSE-2.0
15 //
16 // Unless required by applicable law or agreed to in writing, software
17 // distributed under the License is distributed on an "AS IS" BASIS,
18 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 // See the License for the specific language governing permissions and
20 // limitations under the License.
21 //
22 
23 
24 #ifndef _MZID_DELIMREADER_HPP_
25 #define _MZID_DELIMREADER_HPP_
26 
28 #include "Reader.hpp"
29 #include "IdentData.hpp"
30 #include <string>
31 #include <stdexcept>
32 
33 namespace pwiz {
34 namespace identdata {
35 
37 {
38 public:
39  DelimReader();
40  virtual ~DelimReader();
41 
42  enum Param
43  {
45  ScoreType
46  };
47 
48  DelimReader& set(Param param, const std::string& value);
49  const std::string get(Param param) const;
50 
51  virtual std::string identify(const std::string& filename,
52  const std::string& head) const;
53 
54  virtual void read(const std::string& filename,
55  const std::string& head,
56  IdentData& result) const;
57 
58  virtual void read(const std::string& filename,
59  const std::string& head,
60  IdentDataPtr& result) const;
61 
62  virtual void read(const std::string& filename,
63  const std::string& head,
64  std::vector<IdentDataPtr>& results) const;
65 
66  virtual const char *getType() const;
67 
68 private:
69  class Impl;
70 
71  Impl* pimpl;
72 };
73 
74 } // namespace pwiz
75 } // namespace identdata
76 
77 #endif // _MZID_DELIMREADER_HPP_