Files
PolyORB/docs/client.adb
Thomas Quinot b266a2d97a Move documentation from doc/ to docs/, for consistency with other
products.

[Imported from Perforce change 9855 at 2006-12-01 22:19:43]

Subversion-branch: /trunk/polyorb
Subversion-revision: 37320
2006-02-01 19:59:56 +00:00

58 lines
1.4 KiB
Ada

with Ada.Command_Line;
with Ada.Text_IO;
with CORBA.ORB;
with Echo;
with PolyORB.Setup.Client;
pragma Warnings (Off, PolyORB.Setup.Client);
procedure Client is
use Ada.Command_Line;
use Ada.Text_IO;
Sent_Msg, Rcvd_Msg : CORBA.String;
myecho : Echo.Ref;
begin
CORBA.ORB.Initialize ("ORB");
if Argument_Count /= 1 then
Put_Line ("usage : client <IOR_string_from_server>");
return;
end if;
-- Getting the CORBA.Object
CORBA.ORB.String_To_Object
(CORBA.To_CORBA_String (Ada.Command_Line.Argument (1)), myecho);
-- Checking if it worked
if Echo.Is_Nil (myecho) then
Put_Line ("main : cannot invoke on a nil reference");
return;
end if;
-- Sending message
Sent_Msg := CORBA.To_CORBA_String (Standard.String'("Hello Ada !"));
Rcvd_Msg := Echo.echoString (myecho, Sent_Msg);
-- Printing result
Put_Line ("I said : " & CORBA.To_Standard_String (Sent_Msg));
Put_Line ("The object answered : " & CORBA.To_Standard_String (Rcvd_Msg));
exception
when E : CORBA.Transient =>
declare
Memb : CORBA.System_Exception_Members;
begin
CORBA.Get_Members (E, Memb);
Put ("received exception transient, minor");
Put (CORBA.Unsigned_Long'Image (Memb.Minor));
Put (", completion status: ");
Put_Line (CORBA.Completion_Status'Image (Memb.Completed));
end;
end Client;