source: trunk/gsinstaller/gsProfile.cpp@ 1397

Last change on this file since 1397 was 1397, checked in by cs025, 24 years ago

Initial revision

  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
RevLine 
[1397]1#include "gsProfile.h"
2
3#include <stdio.h>
4#include "stringArray.h"
5
6gsProfile::gsProfile(const char *fileName)
7{ this->fileName = fileName;
8}
9
10bool gsProfile::ensureListMember(const char *sectionName, const char *listName,
11 const char *listMember)
12{ char buffer[256] = "\0";
13 stringArray *members;
14
15 if (GetPrivateProfileString(sectionName, listName, "",
16 buffer, 256, this->fileName) <= 0)
17 { buffer[0] = '\0';
18 }
19 // add if needsbe
20 members = new stringArray(buffer, ";");
21 if (members->includes(listMember) == false)
22 { members->add(listMember);
23 members->writeToCString(buffer, ";", 256);
24 delete members;
25 return WritePrivateProfileString(sectionName, listName, buffer, this->fileName);
26 }
27 delete members;
28 return true;
29}
30
31bool gsProfile::addListMember(const char *sectionName, const char *listName, const char *listMember)
32{ char buffer[256];
33 stringArray *members;
34
35 GetPrivateProfileString(sectionName, listName, "",
36 buffer, 256, this->fileName);
37 // straightforward, unthinking, add
38 members = new stringArray(buffer, ";");
39 members->add(listMember);
40 members->writeToCString(buffer, ";", 256);
41 delete members;
42 return WritePrivateProfileString(sectionName, listName, buffer, this->fileName);
43}
44
45bool gsProfile::removeListMember(const char *sectionName, const char *listName, const char *listMember)
46{ char buffer[256];
47 stringArray *members;
48
49 GetPrivateProfileString(sectionName, listName, "",
50 buffer, 256, this->fileName);
51 // straightforward, unthinking, removal - if it isn't there, we won't need to
52 // worry!
53 members = new stringArray(buffer, ";");
54 members->remove(listMember);
55 members->writeToCString(buffer, ";", 256);
56 delete members;
57
58 return WritePrivateProfileString(sectionName, listName, buffer, this->fileName);
59}
60
61bool gsProfile::writeString(const char *sectionName, const char *itemName, const char *itemValue)
62{ if (!WritePrivateProfileString(sectionName, itemName, itemValue, this->fileName))
63 { DWORD error = GetLastError();
64 char buffer[20];
65 sprintf(buffer, "%lx", error);
66 MessageBox(0, buffer, "", MB_OK);
67 }
68 return true;
69}
Note: See TracBrowser for help on using the repository browser.