A simple .ini file interface.

Dependents:   Smart-WiFly-WebServer SignalGenerator WattEye X10Svr

Files at this revision

API Documentation at this revision

Comitter:
WiredHome
Date:
Thu Dec 29 20:14:04 2016 +0000
Parent:
19:8f394a5f3758
Child:
21:a69c8ec96cb1
Commit message:
Revised test cases to match API v2

Changed in this revision

IniManager.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/IniManager.cpp	Wed Dec 28 00:24:39 2016 +0000
+++ b/IniManager.cpp	Thu Dec 29 20:14:04 2016 +0000
@@ -272,7 +272,7 @@
 {
     char localBuf[16];
     
-    if (ReadString(section, key, localBuf, sizeof(localBuf))) {
+    if (INI::INI_SUCCESS == ReadString(section, key, localBuf, sizeof(localBuf))) {
         return atol(localBuf);
     } else {
         return defaultValue;
@@ -565,15 +565,26 @@
 
 #define TESTFILE "test.ini"
 
+
+//INI_V1_FAIL = 0,        ///< Version 1 return value - Fail
+//INI_V1_SUCCESS = 1,     ///< Version 1 return value - Success
+//INI_SUCCESS = 0,        ///< Success - operation succeeded
+//INI_NO_FILE_SPEC,       ///< Fail - no file was specified
+//INI_FILE_NOT_FOUND,     ///< Fail - ini file not found, or failed to open
+//INI_SECTION_NOT_FOUND,  ///< Fail - section not found
+//INI_KEY_NOT_FOUND,      ///< Fail - key not found
+//INI_BUF_TOO_SMALL,      ///< Fail - buffer to small for value
+//INI_INTERNAL_ERROR      ///< Fail - internal error - can't alloc buffers
+
 int main(int argc, char * argv[])
 {
     FILE * fp;
     char buffer[100];
-    INI ini(TESTFILE);
+    INI ini(TESTFILE, 2);
 
     // Start testing
     _unlink(TESTFILE);
-    assert(ini.ReadString("Section 1", "Name 1", buffer, sizeof(buffer)) == false);
+    assert(INI::INI_FILE_NOT_FOUND == ini.ReadString("Section 1", "Name 1", buffer, sizeof(buffer)));
 
     fp = fopen(TESTFILE, "wt");
     assert(fp);
@@ -588,20 +599,20 @@
     fprintf(fp, "\n");
     fclose(fp);
 
-    assert(ini.ReadString("Section 2", "Name 2", buffer, sizeof(buffer)) == true);
+    assert(INI::INI_SUCCESS == ini.ReadString("Section 2", "Name 2", buffer, sizeof(buffer)));
     assert(strcmp("Value 2", buffer) == 0);
 
-    assert(ini.ReadString("Section 3", "Name", buffer, sizeof(buffer)) == false);
-    assert(ini.ReadString("Section 1", "Name 3", buffer, sizeof(buffer)) == false);
+    assert(INI::INI_SECTION_NOT_FOUND == ini.ReadString("Section 3", "Name", buffer, sizeof(buffer)));
+    assert(INI::INI_KEY_NOT_FOUND == ini.ReadString("Section 1", "Name 3", buffer, sizeof(buffer)));
 
-    assert(ini.WriteString("Section 1", "Name 4", "Value 4") == true);
-    assert(ini.ReadString("Section 1", "Name 2", buffer, sizeof(buffer)) == true);
-    assert(ini.ReadString("Section 1", "Name 3", buffer, sizeof(buffer)) == false);
-    assert(ini.ReadString("Section 1", "Name 4", buffer, sizeof(buffer)) == true);
+    assert(INI::INI_SUCCESS == ini.WriteString("Section 1", "Name 4", "Value 4"));
+    assert(INI::INI_SUCCESS == ini.ReadString("Section 1", "Name 2", buffer, sizeof(buffer)));
+    assert(INI::INI_KEY_NOT_FOUND == ini.ReadString("Section 1", "Name 3", buffer, sizeof(buffer)));
+    assert(INI::INI_SUCCESS == ini.ReadString("Section 1", "Name 4", buffer, sizeof(buffer)));
     assert(strcmp("Value 4", buffer) == 0);
 
-    assert(ini.WriteString("Section 1", "Name 4", NULL) == true);
-    assert(ini.ReadString("Section 1", "Name 4", buffer, sizeof(buffer)) == false);
+    assert(INI::INI_SUCCESS == ini.WriteString("Section 1", "Name 4", NULL));
+    assert(INI::INI_KEY_NOT_FOUND == ini.ReadString("Section 1", "Name 4", buffer, sizeof(buffer)));
 
     return 0;
 }