Initial documentation for Satellite

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@31853 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
David Eriksson 2000-09-03 16:10:46 +00:00
parent e477a6625b
commit 561ec90ec9
2 changed files with 320 additions and 0 deletions

View file

@ -83,6 +83,7 @@
<!ENTITY reference.readline SYSTEM "functions/readline.xml">
<!ENTITY reference.recode SYSTEM "functions/recode.xml">
<!ENTITY reference.regex SYSTEM "functions/regex.xml">
<!ENTITY reference.satellite SYSTEM "functions/satellite.xml">
<!ENTITY reference.sem SYSTEM "functions/sem.xml">
<!ENTITY reference.session SYSTEM "functions/session.xml">
<!ENTITY reference.snmp SYSTEM "functions/snmp.xml">

319
functions/satellite.xml Normal file
View file

@ -0,0 +1,319 @@
<!--
$Id: satellite.xml,v 1.1 2000-09-03 16:10:45 eriksson Exp $
Author: David Eriksson <david@2good.com>
-->
<reference id="ref.satellite">
<title>Satellite CORBA extension</title>
<titleabbrev>Satellite</titleabbrev>
<partintro>
<para>
The Satellite extension is used for accessing CORBA objects.
You will need to set the idl_directory= entry in php.ini to a
path where you store all IDL files you use.
</para>
</partintro>
<refentry id="class.orbitobject">
<refnamediv>
<refname>OrbitObject</refname>
<refpurpose>Access CORBA objects</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>new <function>OrbitObject</function></funcdef>
<paramdef>string <parameter>ior</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This class provides access to a CORBA object. The <parameter>ior</parameter>
parameter should be a string containing the
IOR (Interoperable Object Reference) that identifies the
remote object.
</para>
<para>
<example>
<title>Sample IDL file</title>
<programlisting>
interface MyInterface
{
void SetInfo(string info);
string GetInfo();
attribute int value;
}
</programlisting>
</example>
</para>
<para>
<example>
<title>PHP code for accessing MyInterface</title>
<programlisting role="php">
&lt;?php
$obj = new OrbitObject($ior);
$obj->SetInfo("A 2GooD object");
echo $obj->GetInfo();
$obj->value = 42;
echo $obj->value;
?>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="class.orbitenum">
<refnamediv>
<refname>OrbitEnum</refname>
<refpurpose>Use CORBA enums</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>new <function>OrbitEnum</function></funcdef>
<paramdef>string <parameter>id</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This class represents the enumeration identified with the <parameter>id</parameter> parameter.
The <parameter>id</parameter> can be either the name of the enumeration (e.g "MyEnum"),
or the full repository id (e.g. "IDL:MyEnum:1.0").
</para>
<para>
<example>
<title>Sample IDL file</title>
<programlisting>
enum MyEnum
{
a,b,c,d,e
};
</programlisting>
</example>
</para>
<para>
<example>
<title>PHP code for accessing MyEnum</title>
<programlisting role="php">
&lt;?php
$enum = new OrbitEnum("MyEnum");
echo $enum->a; /* write 0 */
echo $enum->c; /* write 2 */
echo $enum->e; /* write 4 */
?>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="class.orbitstruct">
<refnamediv>
<refname>OrbitStruct</refname>
<refpurpose>Use CORBA structs</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>new <function>OrbitStruct</function></funcdef>
<paramdef>string <parameter>id</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This class represents the structure identified with the <parameter>id</parameter> parameter.
The <parameter>id</parameter> can be either the name of the struct (e.g "MyStruct"),
or the full repository id (e.g. "IDL:MyStruct:1.0").
</para>
<para>
<example>
<title>Sample IDL file</title>
<programlisting>
struct MyStruct
{
short shortvalue;
string stringvalue;
};
interface SomeInterface
{
void SetValues(MyStruct values);
MyStruct GetValues();
}
</programlisting>
</example>
</para>
<para>
<example>
<title>PHP code for accessing MyStruct</title>
<programlisting role="php">
&lt;?php
$obj = new OrbitObject($ior);
$initial_values = new OrbitStruct("IDL:MyStruct:1.0");
$initial_values->shortvalue = 42;
$initial_values->stringvalue = "HGTTG";
$obj->SetValues($initial_values);
$values = $obj->GetValues();
echo $values->shortvalue;
echo $values->stringvalue;
?>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.satellite_caught_exception">
<refnamediv>
<refname>satellite_caught_exception</refname>
<refpurpose>See if an exception was caught from the previous function.</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>bool <function>satellite_caught_exception</function></funcdef>
<paramdef></paramdef>
</funcprototype>
</funcsynopsis>
<para>
This function returns true if an exception has been caught.
</para>
<para>
<example>
<title>Sample IDL file</title>
<programlisting>
/* ++?????++ Out of Cheese Error. Redo From Start. */
exception OutOfCheeseError
{
int parameter;
}
interface AnotherInterface
{
void AskWhy() raises(OutOfCheeseError);
}
</programlisting>
</example>
</para>
<para>
<example>
<title>PHP code for handling CORBA exceptions</title>
<programlisting role="php">
&lt;?php
$obj = new OrbitObject($ior);
$obj->AskWhy();
if (satellite_caught_exception())
{
if ("IDL:OutOfCheeseError:1.0" == satellite_exception_id())
{
$exception = satellite_exception_value();
echo $exception->parameter;
}
}
?>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.satellite_exception_id">
<refnamediv>
<refname>satellite_exception_id</refname>
<refpurpose>Get the repository id for the latest excetpion.</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>string <function>satellite_exception_id</function></funcdef>
<paramdef></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Return a repository id string. (E.g. "IDL:MyException:1.0".)
For example usage see <function>satellite_caught_exception</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.satellite_exception_value">
<refnamediv>
<refname>satellite_exception_value</refname>
<refpurpose>Get the exception struct for the latest exception.</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
<funcdef>OrbitStruct <function>satellite_exception_value</function></funcdef>
<paramdef></paramdef>
</funcprototype>
</funcsynopsis>
<para>
Return an exception struct.
For example usage see <function>satellite_caught_exception</function>.
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->