3rd Repo, trying to figure this out.

Dependencies:   LPS25H hts221

Fork of SOFT253_Template_Weather_OS_54 by Stage-1 Students SoCEM

Revision:
77:db3384071634
Parent:
76:ee1f132e5744
Child:
78:6c2b8ade8414
Child:
79:4e6b53eb678b
diff -r ee1f132e5744 -r db3384071634 MessageLogger/MessageLogger.cpp
--- a/MessageLogger/MessageLogger.cpp	Wed Apr 26 10:00:19 2017 +0000
+++ b/MessageLogger/MessageLogger.cpp	Wed Apr 26 21:58:08 2017 +0000
@@ -17,45 +17,39 @@
         }
        
         // public methods:
-        void MessageLogger::SendError(char* errorMessage)
+        void MessageLogger::SendError(string errorMessage)
         {
-            fatalError = strcat(errorMessage, "\n\rTerminating Program...\n\r");
+            fatalError << errorMessage <<"\n\rTerminating Program...\n\r";
             loggingThread->signal_set(SIGNAL_printMessage);
             hasError = true;
         }
         
-        
-        
-        void MessageLogger::SendMessage(char* message)
+        void MessageLogger::SendMessage(string message)
         {
-            //string messageObj;
-            //*messageObj = message_mail.alloc();
-            //strcpy(&messageObj, message_mail.alloc());            
-                        /*
+            string *messageObj = message_mail.alloc();           
+                        
             if (messageObj == NULL) 
             {
                SendError("ERROR: Message queue is full.");
                return;   
             }
-            */
-            //strcpy(messageObj, message);
+            
+            (*messageObj) = message;
     
-            //stat = message_mail.put(messageObj);
+            stat = message_mail.put(messageObj);
             
-            /*
             //Check if succesful
             if (stat == osErrorResource) 
             {
                 message_mail.free(messageObj);
-                char error[50];
-                strcat(error,  "ERROR CODE: ", evt.status);
-                strcat(error, ", Failed to add message to queue");
-                SendError(error); 
+                ostringstream error;
+                error << "ERROR CODE: " << stat << ", Failed to retrieve message from queue";
+                SendError(error.str());
                 return;
             }
-            */
-            //messageCount++;
-            //loggingThread->signal_set(SIGNAL_printMessage);
+            
+            messageCount++;
+            loggingThread->signal_set(SIGNAL_printMessage);
         }
         
         bool MessageLogger::GetError()
@@ -69,42 +63,39 @@
         }
         bool MessageLogger::GetMessage()
         {
-            /*
             if(messageCount > 0)
             {
                 PrintMessage();
                 return true;
             }
-            return false;    
-            */        
+            return false;     
         }
         
         void MessageLogger::PrintError()
         {
-            printf(fatalError);
+            printf("%s", fatalError.str());
         }
         
         void MessageLogger::PrintMessage()
         {
-            /*
             osEvent evt = message_mail.get();
             
             //Check status
             if (evt.status == osEventMail) 
             {
-                char* message = (char*)evt.value.p;   
+                string *message = (string*)evt.value.p;   
                 
-                printf(message);
+                // Ask about cout as everyone on the internet recommends it as a type safe version of printf.
+                //std::cout << message; 
+                printf("%s", (*message));
                 
                 message_mail.free(message);
                 messageCount--;
             } 
             else 
             {
-                char* error;
-                strcat(error,  "ERROR CODE: ", evt.status);
-                strcat(error, ", Failed to retrieve message from queue");
-                SendError(error);
+                ostringstream error;
+                error << "ERROR CODE: " << evt.status << ", Failed to retrieve message from queue";
+                SendError(error.str());
             }  
-            */
         }
\ No newline at end of file