Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
updating gras prop example
[simgrid.git] / examples / gras / properties / gras_prop.c
index 3e03f0a..fa74db4 100644 (file)
@@ -1,6 +1,8 @@
-#include <gras.h>
+/*     $Id$     */
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(property,"Simple Property example");
+#include "gras.h"
+
+XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Simple Property example");
 
 
 int client(int argc, char *argv[]) {
@@ -17,13 +19,31 @@ int client(int argc, char *argv[]) {
   }
  
   /* Try to get a property that does not exist */
-  char *noexist=xbt_strdup("Nonexisent");
+  char *noexist="Nonexisent";
   const char *value = gras_process_property_value(noexist);
   if ( value == NULL) 
     INFO1("Process property: %s is undefined", noexist);
   else
     INFO2("Process property: %s has value: %s", noexist, value);
-  
+   /* Modify an existing property. First check it exists */\
+    INFO0("Trying to modify a process property");
+    char *exist="otherprop";
+    value = gras_process_property_value(exist);
+    if ( value == NULL) 
+      INFO1("\tProperty: %s is undefined", exist);
+    else {
+      INFO2("\tProperty: %s old value: %s", exist, value);
+      xbt_dict_set(props, exist, strdup("newValue"), free);  
+    }
+    /* Test if we have changed the value */
+    value = gras_process_property_value(exist);
+    if ( value == NULL) 
+      INFO1("\tProperty: %s is undefined", exist);
+    else
+      INFO2("\tProperty: %s new value: %s", exist, value);
   gras_exit();
   return 0;
 }
@@ -42,7 +62,7 @@ int server(int argc, char *argv[]) {
   }
  
   /* Try to get a property that does not exist */
-  char *noexist=xbt_strdup("Nonexisent");
+  char *noexist="Nonexisent";
   const char *value = gras_os_host_property_value(noexist);
   if ( value == NULL) 
     INFO1("Host property: %s is undefined", noexist);