implement operator >>
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Fri, 11 Apr 2008 16:52:22 -0700
changeset 2956 1c1345207c74
parent 2955 3d45621712a3
child 2957 8a87a9734bd6
implement operator >>
src/core/object-factory.cc
--- a/src/core/object-factory.cc	Fri Apr 11 16:52:12 2008 -0700
+++ b/src/core/object-factory.cc	Fri Apr 11 16:52:22 2008 -0700
@@ -75,7 +75,17 @@
 }
 std::istream & operator >> (std::istream &is, ObjectFactory &factory)
 {
-  // XXX
+  std::string v;
+  is >> v;
+  std::string::size_type lbracket, rbracket;
+  lbracket = v.find ("[");
+  rbracket = v.find ("]");
+  NS_ASSERT (lbracket != std::string::npos);
+  NS_ASSERT (rbracket != std::string::npos);
+  std::string tid = v.substr (0, lbracket);
+  std::string parameters = v.substr (lbracket+1,rbracket-(lbracket+1));
+  factory.SetTypeId (tid);
+  factory.m_parameters.DeserializeFromString (parameters);
   return is;
 }