[Fresco-changes] Fresco/Fresco-C++/include/Fresco resolve.hh,1.14,1.15

Neil John Pilgrim neiljp at fresco.org
Wed Apr 9 22:18:30 UTC 2003


Update of /cvs/fresco/Fresco/Fresco-C++/include/Fresco
In directory purcel:/tmp/cvs-serv7999/Fresco-C++/include/Fresco

Modified Files:
	resolve.hh 
Log Message:
Tidy up to get more in line with coding standard & insert comments.
(before hopefully extending the resolve-kit method as per task54)


Index: resolve.hh
===================================================================
RCS file: /cvs/fresco/Fresco/Fresco-C++/include/Fresco/resolve.hh,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- resolve.hh	23 Jan 2003 00:43:02 -0000	1.14
+++ resolve.hh	9 Apr 2003 22:18:24 -0000	1.15
@@ -31,142 +31,164 @@
 #include "orbsvcs/orbsvcs/CosNamingC.h"
 #endif
 
+// -----------------------------------------------------------------------------
+// Wrapper for resolving CORBA initial references
+// -----------------------------------------------------------------------------
 template <class T>
-typename T::_ptr_type resolve_init(CORBA::ORB_ptr orb, const char *name)
+typename T::_ptr_type resolve_init(CORBA::ORB_ptr orb, 
+                                   char const * name)
 {
-  CORBA::Object_var object;
-  try
+    CORBA::Object_var object;
+    try
     {
-      object = orb->resolve_initial_references(name);
+        object = orb->resolve_initial_references(name);
     }
-  catch (const CORBA::ORB::InvalidName &e)
+    catch (const CORBA::ORB::InvalidName &e)
     {
-      std::cerr << "Invalid Name : " << name << std::endl;
-      throw;
+        std::cerr << "Invalid Name : " << name << std::endl;
+        throw;
     }
-  catch (const CORBA::Exception &e)
+    catch (const CORBA::Exception &e)
     {
-      std::cerr << "Cannot get initial reference for " << name << ": " << e << std::endl;
-      throw 0;
+        std::cerr << "Cannot get initial reference for " << name << ": " << e 
+                  << std::endl;
+        throw 0;
     }
-  assert(!CORBA::is_nil(object));
+    assert(!CORBA::is_nil(object));
 
-  typename T::_var_type reference;
-  try
+    typename T::_var_type reference;
+    try
     {
-      reference = T::_narrow(object);
+        reference = T::_narrow(object);
     }
-  catch (const CORBA::Exception &e)
+    catch (const CORBA::Exception &e)
     {
-      std::cerr << "Cannot downcast reference for " << name << ": " << e << std::endl;
-      throw 0;
+        std::cerr << "Cannot downcast reference for " << name << ": " << e 
+                  << std::endl;
+        throw 0;
     }
-  if (CORBA::is_nil(reference))
+    if (CORBA::is_nil(reference))
     {
-      std::cerr << "Incorrect type of reference for " << name << std::endl;
-      throw 0;
+        std::cerr << "Incorrect type of reference for " << name << std::endl;
+        throw 0;
     }
-  return reference._retn();
+    return reference._retn();
 }
 
+// -----------------------------------------------------------------------------
+// Wrappers for using the CORBA Nameservice
+// -----------------------------------------------------------------------------
 template <class T>
-typename T::_ptr_type resolve_name(CosNaming::NamingContext_ptr context, const CosNaming::Name &name)
+typename T::_ptr_type resolve_name(CosNaming::NamingContext_ptr context, 
+                                   CosNaming::Name const &name)
 {
-  CORBA::Object_var object;
-  try
+    CORBA::Object_var object;
+    try
     {
-      object = context->resolve(name);
+        object = context->resolve(name);
     }
-  catch (const CosNaming::NamingContext::NotFound &e)
+    catch (const CosNaming::NamingContext::NotFound &e)
     {
-      throw;
+        // XXX: insert warning message here? -- neiljp
+        throw;
     }
-  catch (const CORBA::Exception &e)
+    catch (const CORBA::Exception &e)
     {
-      std::cerr << "Cannot resolve binding: " << e << std::endl;
-      throw 0;
+        std::cerr << "Cannot resolve binding: " << e << std::endl;
+        throw 0;
     }
-  if (CORBA::is_nil(object))
+    if (CORBA::is_nil(object))
     {
-      std::cerr << "Nil binding in Naming service" << std::endl;
-      throw 0;
+        std::cerr << "Nil binding in Naming service" << std::endl;
+        throw 0;
     }
 
-  typename T::_var_type reference;
-  try
+    typename T::_var_type reference;
+    try
     {
-      reference = T::_narrow(object);
+        reference = T::_narrow(object);
     }
-  catch (const CORBA::Exception &e)
+    catch (const CORBA::Exception &e)
     {
-      std::cerr << "Cannot narrow reference: " << e << std::endl;
-      throw 0;
+        std::cerr << "Cannot narrow reference: " << e << std::endl;
+        throw 0;
     }
-  if (CORBA::is_nil(reference))
+    if (CORBA::is_nil(reference))
     {
-      std::cerr << "Reference has incorrect type" << std::endl;
-      throw 0;
+        std::cerr << "Reference has incorrect type" << std::endl;
+        throw 0;
     }
-  return reference._retn();
+    return reference._retn();
 }
 
 template <class T>
-typename T::_ptr_type resolve_name(CosNaming::NamingContext_ptr context, const char * name)
+typename T::_ptr_type resolve_name(CosNaming::NamingContext_ptr context, 
+                                   char const * name)
 {
-  CosNaming::Name cosname;
-  cosname.length(1);
-  cosname[0].id   = name; 
-  cosname[0].kind = "Object"; // string_dup ?? 
-  return resolve_name<T>(context, cosname);
+    CosNaming::Name cosname;
+    cosname.length(1);
+    cosname[0].id   = name; 
+    cosname[0].kind = "Object"; // string_dup ?? 
+    return resolve_name<T>(context, cosname);
 }
 
-inline void bind_name(CORBA::ORB_ptr orb, CORBA::Object_ptr object, const char *name)
+inline void bind_name(CORBA::ORB_ptr orb, 
+                      CORBA::Object_ptr object, 
+                      char const * name)
 {
-  CosNaming::NamingContext_var context = resolve_init<CosNaming::NamingContext>(orb, "NameService");
-  CosNaming::Name cosname;
-  cosname.length(1);
-  cosname[0].id   = name; 
-  cosname[0].kind = "Object"; // string_dup ?? 
-  context->rebind(cosname, object);
+    CosNaming::NamingContext_var context = 
+      resolve_init<CosNaming::NamingContext>(orb, "NameService");
+    CosNaming::Name cosname;
+    cosname.length(1);
+    cosname[0].id   = name; 
+    cosname[0].kind = "Object"; // string_dup ?? 
+    context->rebind(cosname, object);
 }
 
+// -----------------------------------------------------------------------------
+// Wrappers for resolving Fresco kits
+// -----------------------------------------------------------------------------
 template <class T>
-typename T::_ptr_type resolve_kit(Fresco::ServerContext_ptr context, const char *name, const Fresco::Kit::PropertySeq &props)
+typename T::_ptr_type resolve_kit(Fresco::ServerContext_ptr context, 
+                                  char const * name, 
+                                  Fresco::Kit::PropertySeq const &props)
 {
-  CORBA::Object_ptr object;
-  try
+    CORBA::Object_ptr object;
+    try
     {
-      object = context->resolve(name, props);
+        object = context->resolve(name, props);
     }
-  catch(const CORBA::Exception &e)
+    catch(const CORBA::Exception &e)
     {
-      std::cerr << "Cannot resolve reference for " << name << ": " << e << std::endl;
-      return T::_nil();
+        std::cerr << "Cannot resolve reference for " << name << ": " << e 
+                  << std::endl;
+        return T::_nil();
     }
-  typename T::_var_type reference;
-  try
+    typename T::_var_type reference;
+    try
     {
-      reference = T::_narrow(object);
+        reference = T::_narrow(object);
     }
-  catch (const CORBA::Exception &e)
+    catch (const CORBA::Exception &e)
     {
-      std::cerr << "Cannot narrow reference: " << e << std::endl;
-      throw 0;
+        std::cerr << "Cannot narrow reference: " << e << std::endl;
+        throw 0;
     }
-  if (CORBA::is_nil(reference))
+    if (CORBA::is_nil(reference))
     {
-      std::cerr << "Reference has incorrect type" << std::endl;
-      throw 0;
+        std::cerr << "Reference has incorrect type" << std::endl;
+        throw 0;
     }
-  return reference._retn();
+    return reference._retn();
 }
 
 template <class T>
-typename T::_ptr_type resolve_kit(Fresco::ServerContext_ptr context, const char *name)
+typename T::_ptr_type resolve_kit(Fresco::ServerContext_ptr context, 
+                                  char const * name)
 {
-  Fresco::Kit::PropertySeq empty;
-  empty.length(0);
-  return resolve_kit<T>(context, name, empty);
+    Fresco::Kit::PropertySeq empty;
+    empty.length(0);
+    return resolve_kit<T>(context, name, empty);
 }
 
 // -----------------------------------------------------------------------------





More information about the Fresco-changes mailing list