#include "gsProfile.h" #include #include "stringArray.h" gsProfile::gsProfile(const char *fileName) { this->fileName = fileName; } bool gsProfile::ensureListMember(const char *sectionName, const char *listName, const char *listMember) { char buffer[256] = "\0"; stringArray *members; if (GetPrivateProfileString(sectionName, listName, "", buffer, 256, this->fileName) <= 0) { buffer[0] = '\0'; } // add if needsbe members = new stringArray(buffer, ";"); if (members->includes(listMember) == false) { members->add(listMember); members->writeToCString(buffer, ";", 256); delete members; return WritePrivateProfileString(sectionName, listName, buffer, this->fileName); } delete members; return true; } bool gsProfile::addListMember(const char *sectionName, const char *listName, const char *listMember) { char buffer[256]; stringArray *members; GetPrivateProfileString(sectionName, listName, "", buffer, 256, this->fileName); // straightforward, unthinking, add members = new stringArray(buffer, ";"); members->add(listMember); members->writeToCString(buffer, ";", 256); delete members; return WritePrivateProfileString(sectionName, listName, buffer, this->fileName); } bool gsProfile::removeListMember(const char *sectionName, const char *listName, const char *listMember) { char buffer[256]; stringArray *members; GetPrivateProfileString(sectionName, listName, "", buffer, 256, this->fileName); // straightforward, unthinking, removal - if it isn't there, we won't need to // worry! members = new stringArray(buffer, ";"); members->remove(listMember); members->writeToCString(buffer, ";", 256); delete members; return WritePrivateProfileString(sectionName, listName, buffer, this->fileName); } bool gsProfile::writeString(const char *sectionName, const char *itemName, const char *itemValue) { if (!WritePrivateProfileString(sectionName, itemName, itemValue, this->fileName)) { DWORD error = GetLastError(); char buffer[20]; sprintf(buffer, "%lx", error); MessageBox(0, buffer, "", MB_OK); } return true; }