to instance objects...
- From: Matteo Airaghi <teoair tin it>
- To: "orbit-list gnome org" <orbit-list gnome org>
- Subject: to instance objects...
- Date: Wed, 25 Jul 2001 13:47:39 +0200
Hello,
I have a problem...
I realized 3 interfaces in my system and now I want to use methods of an
intereface inside the implementation of another interface.
To do this I need to invoke the CosNaming service and, given the
identifier string to the service, get the handle to the object to use
it.
The CosNaming invocation begins with the CORBA_orb_init() and
CORBA_orb_resolve_initial_references(). This allows me to have the orb
(CORBA_orb type) and the name server (CosNaming_NamingContext type).
For all these things I need the IOR output; so I thought to write this
IOR in a file, read the file to access it and use it in the
CORBA_orb_init().
This procedure seems very complex and I believe it exists another one,
easier. Is it??
Moreover this procedure, as I implemented it, doesn't work (I receive an
error message of segmentation fault). So I'm looking for a new way or a
tip that correct my code.
PLEASE HELP ME!
I hope I sufficiently well explained my question... I attach a code
fragment to clarify...
Thanks a lot
Matteo
--<snip>--
int i;
int IOR_c=2;
char IOR1[300] = "./DispatcherDataQueue";
char IOR2[300] = "-ORBNamingIOR=";
char * IOR_v[500];
char temp[300];
FILE * stream;
stream = fopen( "IOR", "r");
if ( stream == NULL)
{
printf("Can't open IOR file\n");
exit(1);
}
else
{
fscanf(stream,"%s", temp);
for (i=0; i<500; i++) IOR2[i+14] = temp[i];
for (i=0; i<500; i++) *IOR_v[i] = (char) IOR2[i];;
}
if ( (stream = fopen( "IOR", "r")) == NULL)
{
printf("Can't open IOR file\n");
retval=1;
}
else
{
fscanf(stream,"%s", IOR_v[1]);
}
orb = CORBA_ORB_init(&IOR_c, IOR_v, "orbit-local-orb", &env);
name_srv = CORBA_ORB_resolve_initial_references(orb, "NameService",
&env);
g_assert(env._major != CORBA_SYSTEM_EXCEPTION);
--<snip>--
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]