Glide Plugin GLES2 port from mupen64plus-ae, but with special FrameSkip code
[mupen64plus-pandora.git] / source / gles2glide64 / src / Glide64 / Ini.h
1 /*
2 *   Glide64 - Glide video plugin for Nintendo 64 emulators.
3 *   Copyright (c) 2002  Dave2001
4 *
5 *   This program is free software; you can redistribute it and/or modify
6 *   it under the terms of the GNU General Public License as published by
7 *   the Free Software Foundation; either version 2 of the License, or
8 *   any later version.
9 *
10 *   This program 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 General Public License for more details.
14 *
15 *   You should have received a copy of the GNU General Public
16 *   Licence along with this program; if not, write to the Free
17 *   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
18 *   Boston, MA  02110-1301, USA
19 */
20
21 //****************************************************************
22 //
23 // Glide64 - Glide Plugin for Nintendo 64 emulators (tested mostly with Project64)
24 // Project started on December 29th, 2001
25 //
26 // To modify Glide64:
27 // * Write your name and (optional)email, commented by your work, so I know who did it, and so that you can find which parts you modified when it comes time to send it to me.
28 // * Do NOT send me the whole project or file that you modified.  Take out your modified code sections, and tell me where to put them.  If people sent the whole thing, I would have many different versions, but no idea how to combine them all.
29 //
30 // Official Glide64 development channel: #Glide64 on EFnet
31 //
32 // Original author: Dave2001 (Dave2999@hotmail.com)
33 // Other authors: Gonetz, Gugaman
34 //
35 //****************************************************************
36
37 //nmn: Fix for MAX_PATH
38 #include <limits.h>
39 #include <stdio.h>
40 #include "winlnxdefs.h"
41
42 BOOL INI_Open ();
43 void INI_Close ();
44 void INI_InsertSpace(int space);
45 BOOL INI_FindSection (const char *sectionname, BOOL create=TRUE);
46 const char *INI_ReadString (const char *itemname, const char *value, const char *def_value, BOOL create=TRUE);
47 void INI_WriteString (const char *itemname, const char *value);
48 int INI_ReadInt (const char *itemname, int def_value, BOOL create=TRUE);
49 void INI_WriteInt (const char *itemname, int value);
50 void SetConfigDir( const char *configDir );
51
52 class Ini
53 {
54 private:
55         Ini();
56         static Ini *singleton;
57 public:
58         static Ini *OpenIni();
59         void SetPath(const char *path);
60         bool Read(const char *key, int *l);
61         bool Read(const char *key, int *l, int defaultVal);
62         int Read(const char *key, int defaultVal);
63 };