[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