FotoSHOCK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
CodecFactory.hpp
1 /*
2  * Copyright 2011, 2012 Lukas Jirkovsky
3  *
4  * This file is part of FotoSHOCKcore.
5  *
6  * FotoSHOCKcore is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation, version 3 of the License.
9  *
10  * FotoSHOCKcore is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with FotoSHOCKcore. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef CODECFACTORY_H
20 #define CODECFACTORY_H
21 
22 #include "Codec.hpp"
23 #include "SaveInfo.hpp"
24 
25 namespace FotoSHOCKcore {
26 namespace IO {
27 
30  public:
32 
43  DecoderFactory(const std::string fileName);
45 
50 
54  Decoder* getDecoder() const;
55  private:
56  Decoder* m_decoder;
57 };
58 
61  public:
63 
78  EncoderFactory(const SaveInfo info);
80 
85 
90  Encoder* getEncoder() const;
91  private:
92  Encoder* m_encoder;
93 };
94 
95 }
96 }
97 
98 #endif