aboutsummaryrefslogtreecommitdiffstats
path: root/lib/orber/doc/src/CosNaming_NamingContext.xml
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
committerErlang/OTP <[email protected]>2009-11-20 14:54:40 +0000
commit84adefa331c4159d432d22840663c38f155cd4c1 (patch)
treebff9a9c66adda4df2106dfd0e5c053ab182a12bd /lib/orber/doc/src/CosNaming_NamingContext.xml
downloadotp-84adefa331c4159d432d22840663c38f155cd4c1.tar.gz
otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.bz2
otp-84adefa331c4159d432d22840663c38f155cd4c1.zip
The R13B03 release.OTP_R13B03
Diffstat (limited to 'lib/orber/doc/src/CosNaming_NamingContext.xml')
-rw-r--r--lib/orber/doc/src/CosNaming_NamingContext.xml249
1 files changed, 249 insertions, 0 deletions
diff --git a/lib/orber/doc/src/CosNaming_NamingContext.xml b/lib/orber/doc/src/CosNaming_NamingContext.xml
new file mode 100644
index 0000000000..7a3c7bc571
--- /dev/null
+++ b/lib/orber/doc/src/CosNaming_NamingContext.xml
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE erlref SYSTEM "erlref.dtd">
+
+<erlref>
+ <header>
+ <copyright>
+ <year>1997</year><year>2009</year>
+ <holder>Ericsson AB. All Rights Reserved.</holder>
+ </copyright>
+ <legalnotice>
+ The contents of this file are subject to the Erlang Public License,
+ Version 1.1, (the "License"); you may not use this file except in
+ compliance with the License. You should have received a copy of the
+ Erlang Public License along with this software. If not, it can be
+ retrieved online at http://www.erlang.org/.
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ the License for the specific language governing rights and limitations
+ under the License.
+
+ </legalnotice>
+
+ <title>CosNaming_NamingContext</title>
+ <prepared></prepared>
+ <docno></docno>
+ <checked></checked>
+ <date>1997-06-10</date>
+ <rev>A</rev>
+ </header>
+ <module>CosNaming_NamingContext</module>
+ <modulesummary>This interface supports different bind and access functions for names in a context.</modulesummary>
+ <description>
+ <p>This is the object that defines name scopes, names must be unique within a
+ naming context. Objects may have multiple names and may exist in multiple
+ naming contexts. Name context may be named in other contexts and cycles are
+ permitted.</p>
+ <p>The type <c>NameComponent</c> used below is defined as:</p>
+ <code type="none">
+ -record('CosNaming_NameComponent', {id, kind=""}).
+ </code>
+ <p>where <c>id</c> and <c>kind</c> are strings. </p>
+ <p>The type <c>Binding</c> used below is defined as:</p>
+ <code type="none">
+ -record('CosNaming_Binding', {binding_name, binding_type}).
+ </code>
+ <p>where <c>binding_name</c> is a Name and <c>binding_type</c> is an enum which
+ has the values <c>nobject</c> and <c>ncontext</c>.</p>
+ <p>Both these records are defined in the file <c>CosNaming.hrl</c> and it
+ is included with:</p>
+ <code type="none">
+ -include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+ </code>
+ <p>There are a number of exceptions that can be returned from functions in this
+ interface.</p>
+ <list type="bulleted">
+ <item>
+ <p>NotFound is defined as </p>
+ <code type="none">
+-record('CosNaming_NamingContext_NotFound',
+ {rest_of_name, why}). </code>
+ </item>
+ <item>
+ <p>CannotProceed is defined as </p>
+ <code type="none">
+-record('CosNaming_NamingContext_CannotProceed',
+ {rest_of_name, cxt}). </code>
+ </item>
+ <item>
+ <p>InvalidName is defined as </p>
+ <code type="none">
+-record('CosNaming_NamingContext_InvalidName', {}). </code>
+ </item>
+ <item>
+ <p>NotFound is defined as </p>
+ <code type="none">
+-record('CosNaming_NamingContext_NotFound', {}). </code>
+ </item>
+ <item>
+ <p>AlreadyBound is defined as </p>
+ <code type="none">
+-record('CosNaming_NamingContext_AlreadyBound', {}). </code>
+ </item>
+ <item>
+ <p>NotEmpty is defined as </p>
+ <code type="none">
+-record('CosNaming_NamingContext_NotEmpty', {). </code>
+ </item>
+ </list>
+ <p>These exceptions are defined in the file <c>CosNaming_NamingContext.hrl</c> and it
+ is included with:</p>
+ <code type="none">
+ -include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+ </code>
+ </description>
+ <funcs>
+ <func>
+ <name>bind(NamingContext, Name, Object) -> Return</name>
+ <fsummary>Bind a Name to an Object</fsummary>
+ <type>
+ <v>NameContext = #objref</v>
+ <v>Name = [NameComponent]</v>
+ <v>Object = #objref</v>
+ <v>Return = ok</v>
+ </type>
+ <desc>
+ <p>Creates a binding of a name and an object in the naming context.
+ Naming contexts that are bound using <em>bind()</em> do not participate
+ in name resolution.</p>
+ </desc>
+ </func>
+ <func>
+ <name>rebind(NamingContext, Name, Object) -> Return</name>
+ <fsummary>Bind an Object to the Name even if the Name already is bound</fsummary>
+ <type>
+ <v>NamingContext = #objref</v>
+ <v>Name = [NameComponent]</v>
+ <v>Object = #objref</v>
+ <v>Return = ok</v>
+ </type>
+ <desc>
+ <p>Creates a binding of a name and an object in the naming context even
+ if the name is already bound. Naming contexts that are bound using
+ <em>rebind()</em> do not participate in name resolution.</p>
+ </desc>
+ </func>
+ <func>
+ <name>bind_context(NamingContext1, Name, NamingContex2) -> Return</name>
+ <fsummary>Bind a Name to an NamingContext</fsummary>
+ <type>
+ <v>NamingContext1 = NamingContext2 =#objref</v>
+ <v>Name = [NameComponent]</v>
+ <v>Return = ok</v>
+ </type>
+ <desc>
+ <p>The bind_context function creates a binding of a name and a naming context in
+ the current context.
+ Naming contexts that are bound using <em>bind_context()</em> participate
+ in name resolution.</p>
+ </desc>
+ </func>
+ <func>
+ <name>rebind_context(NamingContext1, Name, NamingContex2) -> Return</name>
+ <fsummary>Bind an NamingContext to the Name even if the Name already is bound</fsummary>
+ <type>
+ <v>NamingContext1 = NamingContext2 =#objref</v>
+ <v>Name = [NameComponent]</v>
+ <v>Return = ok</v>
+ </type>
+ <desc>
+ <p>The rebind_context function creates a binding of a name and a naming context in
+ the current context even if the name already is bound.
+ Naming contexts that are bound using <em>rebind_context()</em> participate
+ in name resolution.</p>
+ </desc>
+ </func>
+ <func>
+ <name>resolve(NamingContext, Name) -> Return</name>
+ <fsummary>Retrieve an Object bound to Name</fsummary>
+ <type>
+ <v>NamingContext = #objref</v>
+ <v>Name = [NameComponent]</v>
+ <v>Return = Object</v>
+ <v>Object = #objref</v>
+ </type>
+ <desc>
+ <p>The resolve function is the way to retrieve an object bound to a name in
+ the naming context. The given name must match exactly the bound name. The
+ type of the object is not returned, clients are responsible for narrowing
+ the object to the correct type.</p>
+ </desc>
+ </func>
+ <func>
+ <name>unbind(NamingContext, Name) -> Return</name>
+ <fsummary>Remove the binding for a Name</fsummary>
+ <type>
+ <v>NamingContext = #objref</v>
+ <v>Name = [NameComponent]</v>
+ <v>Return = ok</v>
+ </type>
+ <desc>
+ <p>The unbind operation removes a name binding from the naming context.</p>
+ </desc>
+ </func>
+ <func>
+ <name>new_context(NamingContext) -> Return</name>
+ <fsummary>Create a new NamingContext</fsummary>
+ <type>
+ <v>NamingContext = #objref</v>
+ <v>Return = #objref</v>
+ </type>
+ <desc>
+ <p>The new_context operation creates a new naming context.</p>
+ </desc>
+ </func>
+ <func>
+ <name>bind_new_context(NamingContext, Name) -> Return</name>
+ <fsummary>Create a new NamingContext and bind it to a Name</fsummary>
+ <type>
+ <v>NamingContext = #objref</v>
+ <v>Name = [NameComponent]</v>
+ <v>Return = #objref</v>
+ </type>
+ <desc>
+ <p>The new_context operation creates a new naming context and binds it to
+ Name in the current context.</p>
+ </desc>
+ </func>
+ <func>
+ <name>destroy(NamingContext) -> Return</name>
+ <fsummary>Destroy a NamingContext</fsummary>
+ <type>
+ <v>NamingContext = #objref</v>
+ <v>Return = ok</v>
+ </type>
+ <desc>
+ <p>The destroy operation disposes the NamingContext object and removes it from the
+ name server. The context must be empty e.g. not contain any bindings to be
+ removed.</p>
+ </desc>
+ </func>
+ <func>
+ <name>list(NamingContext, HowMany) -> Return</name>
+ <fsummary>List returns a all bindings in the context</fsummary>
+ <type>
+ <v>NamingContext = #objref</v>
+ <v>HowMany = int()</v>
+ <v>Return = {ok, BindingList, BindingIterator}</v>
+ <v>BindingList = [Binding]</v>
+ <v>BindingIterator = #objref</v>
+ </type>
+ <desc>
+ <p>The list operation returns a BindingList with a number of bindings up-to
+ HowMany from the context. It also returns a BindinIterator which can be used to
+ step through the list. If the total number of existing bindings are less
+ than, or equal to, the <c>HowMany</c> parameter a NIL object reference
+ is returned.</p>
+ <p></p>
+ <note>
+ <p>One must destroy the BindingIterator, unless it is a NIL object
+ reference, by using 'BindingIterator':destroy(). Otherwise one can get
+ dangling objects.</p>
+ </note>
+ </desc>
+ </func>
+ </funcs>
+
+</erlref>
+