The Great Rename (Part 1)
[gemrb.git] / gemrb / plugins / STOImporter / STOImporter.h
blob151b96eda6d99bc68308320d49a532a876badc2b
1 /* GemRB - Infinity Engine Emulator
2 * Copyright (C) 2003 The GemRB Project
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * $Id$
22 #ifndef STOIMP_H
23 #define STOIMP_H
25 #ifdef HAVE_CONFIG_H
26 #include <config.h>
27 #endif
29 #include "../../includes/ie_types.h"
30 #include "../Core/Store.h"
31 #include "../Core/StoreMgr.h"
34 class STOImp : public StoreMgr {
35 private:
36 DataStream* str;
37 bool autoFree;
38 int version;
40 public:
41 STOImp(void);
42 ~STOImp(void);
43 bool Open(DataStream* stream, bool autoFree = true);
44 Store* GetStore(Store *store);
46 //returns saved size, updates internal offsets before save
47 int GetStoredFileSize(Store *st);
48 //saves file
49 int PutStore(DataStream *stream, Store *store);
51 void release(void)
53 delete this;
55 private:
56 void GetItem(STOItem *item);
57 void GetDrink(STODrink *drink);
58 void GetCure(STOCure *cure);
59 void GetPurchasedCategories(Store* s);
61 int PutItems(DataStream *stream, Store* s);
62 int PutDrinks(DataStream *stream, Store* s);
63 int PutCures(DataStream *stream, Store* s);
64 int PutPurchasedCategories(DataStream *stream, Store* s);
65 int PutHeader(DataStream *stream, Store *store);
69 #endif