C mapping equivalent of Java narrow() method
- From: Chris Wareham <chris wareham iosystems co uk>
- To: orbit-list gnome org
- Subject: C mapping equivalent of Java narrow() method
- Date: Fri, 13 Dec 2002 13:35:38 +0000
I'm porting a Java based CORBA client to C, but having trouble finding
the C equivalent of certain things. I've attached a minimal Java example
which connects to the naming service, and then tries to get a reference
to an specific object. (Apologies if attachments are frowned upon on
this list).
The problem I'm having is finding the C mapping equivalent of lines 32
to 36 where I "narrow" my reference to the desired object. Any examples
or advice would be greatly appreciatted. In the meantime I'll carry on
reading the OMG C mapping spec.
Cheers,
Chris
--
chris.wareham@iosystems.co.uk (work)
chris.wareham@btopenworld.com (home)
// Standard Java classes
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
// CORBA classes
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
// IDL generated classes
import Adams.*;
public class CorbaTest {
public static void main(String[] args) {
String str = "http://indus.io/ior/adams.ior";
try {
// fire up the ORB
ORB orb = ORB.init(args, null);
// fetch the object reference for the CORBA naming service
URL url = new URL(str);
BufferedReader reader = new BufferedReader(
new InputStreamReader(url.openStream()));
String ior = reader.readLine();
// attach to the CORBA naming service
org.omg.CORBA.Object obj = orb.string_to_object(ior);
NamingContext naming_context = NamingContextHelper.narrow(obj);
// get object reference from naming service
NameComponent name = new NameComponent("adams_asn", "");
NameComponent path[] = {name};
adams_asn asn_obj;
asn_obj = adams_asnHelper.narrow(naming_context.resolve(path));
if(asn_obj == null) {
System.err.println("Unable to find adams_asn object");
System.exit(1);
}
// call a method on the object
if(asn_obj.validate(1000))
System.out.println("Valid ASN number");
else
System.out.println("Invalid ASN number");
}
catch(Exception exception) {
System.err.println(exception);
System.exit(1);
}
System.exit(0);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]