src/simulator/time.cc
changeset 2577 5b41cb5c3fcf
parent 2447 eee344085a96
child 2947 b0fec3381418
--- a/src/simulator/time.cc	Mon Mar 10 00:26:54 2008 +0100
+++ b/src/simulator/time.cc	Mon Mar 10 00:27:53 2008 +0100
@@ -21,8 +21,11 @@
  */
 #include "nstime.h"
 #include "ns3/fatal-error.h"
-#include "ns3/default-value.h"
+#include "ns3/global-value.h"
+#include "ns3/enum.h"
+#include "ns3/string.h"
 #include "ns3/object.h"
+#include "ns3/config.h"
 #include <math.h>
 
 namespace ns3 {
@@ -36,26 +39,28 @@
 static const uint64_t FS_FACTOR = (uint64_t)pow(10,15);
 static uint64_t g_tsPrecFactor = NS_FACTOR;
 
-static EnumDefaultValue<enum precision_t> g_precisionDefaultValue ("TimeStepPrecision", 
-                                                                   "The time unit of the internal 64 bit integer time.",
-                                                                   NS, "NS",
-                                                                   S, "S",
-                                                                   MS, "MS",
-                                                                   US, "US",
-                                                                   PS, "PS",
-                                                                   FS, "FS",
-                                                                   0, (void *)0);
+static GlobalValue g_precisionDefaultValue ("TimeStepPrecision", 
+                                            "The time unit of the internal 64 bit integer time.",
+                                            Enum (NS),
+                                            MakeEnumChecker (NS, "NS",
+                                                             S, "S",
+                                                             MS, "MS",
+                                                             US, "US",
+                                                             PS, "PS",
+                                                             FS, "FS")
+                                            );
 
 precision_t
 Get (void)
 {
-  return g_precisionDefaultValue.GetValue ();
+  Enum v = g_precisionDefaultValue.GetValue ();
+  return (precision_t) v.Get ();
 }
 
 void 
 Set (precision_t precision)
 {
-  g_precisionDefaultValue.SetValue (precision);
+  g_precisionDefaultValue.SetValue (Enum (precision));
   g_tsPrecFactor = (uint64_t)pow(10, precision);
 }
 
@@ -486,12 +491,12 @@
 
   TimeStepPrecision::Set (TimeStepPrecision::NS);
 
-  DefaultValue::Bind ("TimeStepPrecision", "S");
-  DefaultValue::Bind ("TimeStepPrecision", "MS");
-  DefaultValue::Bind ("TimeStepPrecision", "US");
-  DefaultValue::Bind ("TimeStepPrecision", "NS");
-  DefaultValue::Bind ("TimeStepPrecision", "PS");
-  DefaultValue::Bind ("TimeStepPrecision", "FS");
+  Config::SetGlobal ("TimeStepPrecision", String ("S"));
+  Config::SetGlobal ("TimeStepPrecision", String ("MS"));
+  Config::SetGlobal ("TimeStepPrecision", String ("US"));
+  Config::SetGlobal ("TimeStepPrecision", String ("NS"));
+  Config::SetGlobal ("TimeStepPrecision", String ("PS"));
+  Config::SetGlobal ("TimeStepPrecision", String ("FS"));
 
 
   Time tooBig = TimeStep (0x8000000000000000LL);