From 0035fa9dc6cc1cadf810a144d7a60e679455fd59 Mon Sep 17 00:00:00 2001
From: Lars Thorsen To get access to the record definitions for the structs use:
- To get access to the record definitions for the structs use: Names are not an ORB object but the can be structured in components as seen by
the definition above. There are no requirements on names so the service can support
many different conventions and standards.-include_lib("orber/COSS/CosNaming.hrl").
The type
- -record('CosNaming_NameComponent', {id, kind=""}).
-
+ -record('CosNaming_NameComponent', {id, kind=""}).
where
The type
- -record('CosNaming_Binding', {binding_name, binding_type}).
-
+ -record('CosNaming_Binding', {binding_name, binding_type}).
where
Both these records are defined in the file
- -include_lib("orber/COSS/CosNaming/CosNaming.hrl").
-
+ -include_lib("orber/COSS/CosNaming/CosNaming.hrl").
There are a number of exceptions that can be returned from functions in this interface.
NotFound is defined as
-
--record('CosNaming_NamingContext_NotFound',
- {rest_of_name, why}).
+
+-record('CosNaming_NamingContext_NotFound',
+ {rest_of_name, why}).
CannotProceed is defined as
-
--record('CosNaming_NamingContext_CannotProceed',
- {rest_of_name, cxt}).
+
+-record('CosNaming_NamingContext_CannotProceed',
+ {rest_of_name, cxt}).
+
InvalidName is defined as
-
--record('CosNaming_NamingContext_InvalidName', {}).
+
+-record('CosNaming_NamingContext_InvalidName', {}).
+
NotFound is defined as
-
--record('CosNaming_NamingContext_NotFound', {}).
+ -record('CosNaming_NamingContext_NotFound', {}).
AlreadyBound is defined as
-
--record('CosNaming_NamingContext_AlreadyBound', {}).
+ -record('CosNaming_NamingContext_AlreadyBound', {}).
NotEmpty is defined as
-
--record('CosNaming_NamingContext_NotEmpty', {).
+ -record('CosNaming_NamingContext_NotEmpty', {}).
These exceptions are defined in the file
- -include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
+
+-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").
diff --git a/lib/orber/doc/src/CosNaming_NamingContextExt.xml b/lib/orber/doc/src/CosNaming_NamingContextExt.xml
index a571b97ccb..2af3deadda 100644
--- a/lib/orber/doc/src/CosNaming_NamingContextExt.xml
+++ b/lib/orber/doc/src/CosNaming_NamingContextExt.xml
@@ -4,8 +4,7 @@
- 2000
- 2016
+ 2000 2017
Ericsson AB, All Rights Reserved
@@ -36,8 +35,8 @@
To get access to the record definitions for the structures use:
-
- -include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
This module also exports the functions described in:
diff --git a/lib/orber/doc/src/any.xml b/lib/orber/doc/src/any.xml
index f51712c97e..c94a2132d8 100644
--- a/lib/orber/doc/src/any.xml
+++ b/lib/orber/doc/src/any.xml
@@ -4,8 +4,7 @@
- 1998
- 2016
+ 1998 2017
Ericsson AB, All Rights Reserved
@@ -41,9 +40,7 @@
The type TC used below describes an IDL type and is a tuple according
to the to the Erlang language mapping.
The type Any used below is defined as:
-
- -record(any, {typecode, value}).
-
+ -record(any, {typecode, value}).
where typecode is a TC tuple and value is an Erlang term of
the type defined by the typecode field.
diff --git a/lib/orber/doc/src/ch_debugging.xml b/lib/orber/doc/src/ch_debugging.xml
index a036cf5231..debac4313e 100644
--- a/lib/orber/doc/src/ch_debugging.xml
+++ b/lib/orber/doc/src/ch_debugging.xml
@@ -4,7 +4,7 @@
- 2001 2016
+ 2001 2017
Ericsson AB. All Rights Reserved.
@@ -121,7 +121,7 @@ Result.......: {'EXCEPTION',{'MARSHAL',[],102,'COMPLETED_NO'}}
uses the error_logger module to generate the logs. If the traffic
is intense you probably want to write the reports to a log-file.
This is done by, for example, invoking:
-
+
erl> error_logger:tty(false).
erl> error_logger:logfile({open, "/tmp/IIOPTrace"}).
diff --git a/lib/orber/doc/src/ch_exceptions.xml b/lib/orber/doc/src/ch_exceptions.xml
index 52735dc394..17657d0d4a 100644
--- a/lib/orber/doc/src/ch_exceptions.xml
+++ b/lib/orber/doc/src/ch_exceptions.xml
@@ -4,7 +4,7 @@
- 2001 2016
+ 2001 2017
Ericsson AB. All Rights Reserved.
@@ -192,7 +192,7 @@ module MyModule {
Throwing Exceptions
To be able to raise MyException or MyExceptionMsg exceptions,
the generated MyModule.hrl must be included, and typical usage is:
-
+
-module('MyModule_MyInterface_impl').
-include("MyModule.hrl").
diff --git a/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml b/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml
index a0feda3f84..eaa88f24f1 100644
--- a/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml
+++ b/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml
@@ -4,7 +4,7 @@
- 1997 2016
+ 1997 2017
Ericsson AB. All Rights Reserved.
@@ -819,7 +819,7 @@ module x {
Type codes give a complete description of the type including all its components and structure. are, for example, used in Any values.
Hence, we can encapsulate the employee struct in an any
type by:
-
+
%% Erlang code
....
AnEmployee = #'DB_employee'{'No' = 1,
@@ -962,7 +962,7 @@ R1 = m_i:foo(Obj, 55),
representation of the IDL-type void , must be returned by
baz and '_set_RWAttribute' .
These operations can be implemented in the call-back module as:
-
+
'_set_RWAttribute'(State, Long) ->
{reply, ok, State}.
@@ -1011,7 +1011,7 @@ $> erlc +"{be,erl_template}" DB.idl
We begin with implementing the DB_Access_impl.erl module, which,
if we used erl_template , will look like the following. All we need
to do is to add the logic to the logon operation.
-
%%
@@ -1154,7 +1154,7 @@ $ erlc *.erl
Exceptions chapter.
In the following example, only the implementation of the API functions
are shown:
-
+
%%======================================================================
%% API Functions
%%======================================================================
diff --git a/lib/orber/doc/src/ch_install.xml b/lib/orber/doc/src/ch_install.xml
index 9bc974225d..65faa91ccf 100644
--- a/lib/orber/doc/src/ch_install.xml
+++ b/lib/orber/doc/src/ch_install.xml
@@ -4,7 +4,7 @@
- 1997 2016
+ 1997 2017
Ericsson AB. All Rights Reserved.
@@ -106,7 +106,7 @@
necessary to start the Erlang distribution (i.e. using -name/-sname ).
If we use ram_copies there is no need for creating a disk based
schema. Simply use:
-
+
erl> mnesia:start().
erl> corba:orb_init([{domain, "MyRAMSingleNodeORB"}]).
erl> orber:install([node()], [{ifr_storage_type, ram_copies}]).
@@ -115,7 +115,7 @@ erl> orber:start().
If you installation requires disc_copies you must begin with
creating a Mnesia schema. Otherwise, the installation is similar
to a RAM installation:
-
+
erl> mnesia:create_schema([node()]).
erl> mnesia:start().
erl> corba:orb_init([{domain, "MyDiskSingleNodeORB"}]).
@@ -137,7 +137,7 @@ erl> orber:start().
Install RAM Based Multi Node Orber
Within a domain Orber uses the Erlang distribution protocol. Hence, you
must start it first by, for example, using:
-
+
hostA> erl -sname nodeA
In this example, we assume that we want to use two nodes; nodeA and
@@ -146,7 +146,7 @@ hostA> erl -sname nodeA
parameter extra_db_nodes or use mnesia:change_config/2 . To
begin with, Mnesia must be started on all nodes before we can install
Orber:
-
+
nodeA@hostA> mnesia:start().
nodeA@hostA> mnesia:change_config(extra_db_nodes,
[nodeA@hostA, nodeB@hostB]).
@@ -154,7 +154,7 @@ nodeA@hostA> mnesia:change_config(extra_db_nodes,
After that the above have been repeated on nodeB we must
first make sure that both nodes will use the same domain name, then
we can install Orber:
-
+
nodeA@hostA> corba:orb_init([{domain, "MyRAMMultiNodeORB"}]).
nodeA@hostA> orber:install([nodeA@hostA, nodeB@hostB],
[{ifr_storage_type, ram_copies}]).
@@ -162,7 +162,7 @@ nodeA@hostA> orber:start().
Note that you can only invoke orber:install/1/2 on one of the
nodes. Now we can start Orber on the other node:
-
+
nodeB@hostB> corba:orb_init([{domain, "MyRAMMultiNodeORB"}]).
nodeB@hostB> orber:start().
@@ -173,7 +173,7 @@ nodeB@hostB> orber:start().
As for RAM based multi-node Orber installations, the Erlang distribution
must be started (e.g. erl -sname nodeA). The major difference is that
when it is disk based a Mnesia schema must be created:
-
+
nodeA@hostA> mnesia:create_schema([nodeA@hostA, nodeB@hostB]).
nodeA@hostA> mnesia:start().
@@ -183,7 +183,7 @@ nodeA@hostA> mnesia:start().
mnesia:start() ) on nodeB .
After Mnesia have been started on all nodes, you must confirm that all
nodes have the same domain name, then Orber is ready to be installed:
-
+
nodeA@hostA> corba:orb_init([{domain, "MyDiskMultiNodeORB"}]).
nodeA@hostA> orber:install([nodeA@hostA, nodeB@hostB],
[{ifr_storage_type, disc_copies}]).
@@ -191,7 +191,7 @@ nodeA@hostA> orber:start().
Note that you can only invoke orber:install/1/2 on one of the
nodes. Now we can start Orber on the other node:
-
+
nodeB@hostB> corba:orb_init([{domain, "MyDiskMultiNodeORB"}]).
nodeB@hostB> orber:start().
@@ -918,7 +918,7 @@ TCP Firewall With NAT
verify whether access would be granted or not. For example, if Orber would
be started with the ACL [{tcp_out, "10.1.1.1/8#4001/5001"}] , then
orber_acl:match/2 would behave as follows:
-
+
erl> orber_acl:match({11,1,1,1}, tcp_out).
false
@@ -967,7 +967,7 @@ erl> orber_acl:match({10,1,1,1}, tcp_out, true).
the configuration of the underlying system.
Adding the interface context, for generated stubs/skeletons, is done in the
following way:
-
+
Ctx = #'IOP_ServiceContext'{context_id = ?ORBER_GENERIC_CTX_ID,
context_data = {interface, "10.0.0.1"}},
'CosNaming_NamingContext':resolve(NS, [{context, [Ctx]}], Name),
diff --git a/lib/orber/doc/src/ch_interceptors.xml b/lib/orber/doc/src/ch_interceptors.xml
index 392fe7de82..4a9f8e69ca 100644
--- a/lib/orber/doc/src/ch_interceptors.xml
+++ b/lib/orber/doc/src/ch_interceptors.xml
@@ -4,7 +4,7 @@
- 2001 2016
+ 2001 2017
Ericsson AB. All Rights Reserved.
@@ -121,7 +121,7 @@ The Invocation Order of Interceptor Functions.
we store which objects the clients are allowed to invoke operations on
and ChecksumModule determines which module we should use to handle
the checksums.
-
+
new_in_connection(Arg, Host, Port) ->
%% Since we only use one interceptor we do not care about the
%% input Arg since it is set do undefined by Orber.
@@ -141,7 +141,7 @@ new_in_connection(Arg, Host, Port) ->
When a new request comes in the first interceptor function to be invoked is
in_request_encoded . We will remove the checksum from the coded
request body in the following way:
-
+
in_request_encoded({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Bin, Extra) ->
NewBin = ChecksumModule:remove_checksum(Bin),
{NewBin, Extra}.
@@ -154,7 +154,7 @@ in_request_encoded({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Bin, Extra) ->
good throughput.
If we want to we can restrict any clients to only use a subset of operations
exported by a server:
-
+
in_request({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Params, Extra) ->
case ets:lookup(ObjTable, {ObjKey, Op}) of
[] ->
@@ -166,13 +166,13 @@ in_request({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Params, Extra) ->
At this point Orber are now ready to invoke the operation on the target
object. Since we do not care about what the reply is the out_reply
function do nothing, i.e.:
-
+
out_reply(_, _, _, _, Reply, Extra) ->
{Reply, Extra}.
If the client side ORB expects a checksum to be added to the reply we
add it by using:
-
+
out_reply_encoded({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Bin, Extra) ->
NewBin = ChecksumModule:add_checksum(Bin),
{NewBin, Extra}.
@@ -183,8 +183,7 @@ out_reply_encoded({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Bin, Extra) ->
For outgoing requests the principle is the same. Hence, it is not further
described here. The complete interceptor module would look like:
-
-
+
-module(myInterceptor).
%% Interceptor functions.
diff --git a/lib/orber/doc/src/ch_naming_service.xml b/lib/orber/doc/src/ch_naming_service.xml
index bcbab2a597..991402ae86 100644
--- a/lib/orber/doc/src/ch_naming_service.xml
+++ b/lib/orber/doc/src/ch_naming_service.xml
@@ -4,7 +4,7 @@
- 1997 2016
+ 1997 2017
Ericsson AB. All Rights Reserved.
@@ -116,7 +116,7 @@ Figure 1: Contextual object relationships using the Naming Service.
Fetch Initial Reference to the Naming Service
In order to use the naming service you have to fetch an
initial reference to it. This is done with:
-
+
NS = corba:resolve_initial_references("NameService").
@@ -128,14 +128,14 @@ NS = corba:resolve_initial_references("NameService").
Creating a Naming Context
There are two functions for creating a naming context.
The first function, which only creates a naming context object is:
-
+
NC = 'CosNaming_NamingContext':new_context(NS).
The other function creates a naming context and binds it to a name in
an already existing naming context (the initial context in this
example):
-
+
NC = 'CosNaming_NamingContext':bind_new_context(NS, lname:new(["new"])).
@@ -150,19 +150,19 @@ NC = 'CosNaming_NamingContext':bind_new_context(NS, lname:new(["new"])).
-
Use the naming library functions to create a name
-
+
Name = lname:new(["object"]).
-
Use CosNaming::NamingContext::bind() to bind a name to an object
-
+
'CosNaming_NamingContext':bind(Sc, Name, Object).
-
Use CosNaming::NamingContext::unbind() to remove the NameBinding from an object
-
+
'CosNaming_NamingContext':unbind(Sc, Name).
@@ -180,19 +180,19 @@ Name = lname:new(["object"]).
-
Use the naming library functions to create a name path:
-
+
Name = lname:new(["workgroup", "services"]).
-
Use CosNaming::NamingContext::resolve() to to resolve the name to an object
-
+
Sc = 'CosNaming_NamingContext':resolve(NS, Name).
An alternative is to use:
-
+
Sc = corba:string_to_object("corbaname:rir:/NameService#workgroup/services/").
The corbaname schema is described further in the Interoperable
@@ -205,7 +205,7 @@ Sc = corba:string_to_object("corbaname:rir:/NameService#workgroup/services/").
-
Use CosNaming::NamingContext::list() to list all the bindings in a context
The following code retrieves and lists up to 10 bindings from a context.
-
+
{BList, BIterator} = 'CosNaming_NamingContext':list(Sc, 10).
lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of
@@ -229,8 +229,8 @@ lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of
must be removed otherwise dangling processes will occur.
Use CosNaming::BindingIterator::destroy() to remove it.
-
- 'CosNaming_NamingContext':destroy(BIterator).
+
+'CosNaming_NamingContext':destroy(BIterator).
@@ -241,7 +241,7 @@ lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of
-
Use CosNaming::NamingContext::destroy() to remove a NamingContext
-
+
'CosNaming_NamingContext':destroy(Sc).
@@ -318,13 +318,13 @@ lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of
listed below, they should be associated with. The NameService
key may not be changed in Orber. If you want to add one of the
reserved keys as an initial service, simply use:
-
+
1> Factory = cosNotificationApp:start_global_factory().
2> corba:add_initial_service("NotificationService", Factory).
This object can then be easily resolved by any other ORB, supporting
the Interoperable Naming Service, by using:
-
+
3> NF = corba:string_to_object("corbaloc::1.0@erlang.org:4001/NotificationService").
@@ -438,13 +438,13 @@ lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of
Stringified Name representation
After creating a stringified Name we can either use:
-
+
NameStr = "org.erlang",
NS = corba:resolve_initial_references("NameService"),
Obj = 'CosNaming_NamingContextExt':resolve_str(NS, NameStr),
or concatenate the Name String using:
-
+
NameStr = "Swedish/Soccer/Champions",
Address = "corbaname:iiop:1.0@www.aik.se:2000/NameService",
NS = corba:resolve_initial_references("NameService"),
diff --git a/lib/orber/doc/src/ch_orberweb.xml b/lib/orber/doc/src/ch_orberweb.xml
index be1d7fb983..c9dcc382e6 100644
--- a/lib/orber/doc/src/ch_orberweb.xml
+++ b/lib/orber/doc/src/ch_orberweb.xml
@@ -4,7 +4,7 @@
- 2001 2016
+ 2001 2017
Ericsson AB. All Rights Reserved.
@@ -208,8 +208,7 @@
You may choose to start OrberWeb on node, on which Orber is running or not. But
the Erlang distribution must be started (e.g. by using -sname aNodeName). Now, all
you have to do is to invoke:
-
-
+
erl> webtool:start().
WebTool is available at http://localhost:8888/
Or http://127.0.0.1:8888/
diff --git a/lib/orber/doc/src/ch_stubs.xml b/lib/orber/doc/src/ch_stubs.xml
index 144191a66a..9290c127f9 100644
--- a/lib/orber/doc/src/ch_stubs.xml
+++ b/lib/orber/doc/src/ch_stubs.xml
@@ -4,7 +4,7 @@
- 1999 2016
+ 1999 2017
Ericsson AB. All Rights Reserved.
@@ -158,7 +158,7 @@ up_to_date
Arguments and Replies are determined by the IDL-code and, hence, not
further described here.
-
+
%%%-----------------------------------------------------------
%%% File : Module_Interface_impl.erl
%%% Author :
diff --git a/lib/orber/doc/src/corba.xml b/lib/orber/doc/src/corba.xml
index d89f035dba..fbfb55f2f2 100644
--- a/lib/orber/doc/src/corba.xml
+++ b/lib/orber/doc/src/corba.xml
@@ -4,7 +4,7 @@
- 1997 2016
+ 1997 2017
Ericsson AB. All Rights Reserved.
@@ -370,12 +370,12 @@ Example:
This function takes a corbaname , corbaloc or an IOR on the
external string representation and returns the object reference.
- To lookup the NameService reference, simply use
- "corbaloc:iiop:1.2@123.0.0.12:4001/NameService"
- We can also resolve an object from the NameService by using
- "corbaname:iiop:1.2@123.0.0.12:4001/NameService#org/Erlang/MyObj"
- To lookup the NameService reference with an IPv6 address, simply use
- "corbaloc:iiop:1.2@[FEC1:0:3:0:0312:44AF:FAB1:3D01]:4001/NameService"
+ To lookup the NameService reference, simply use:
+ corbaloc:iiop:1.2@123.0.0.12:4001/NameService
+ We can also resolve an object from the NameService by using:
+ corbaname:iiop:1.2@123.0.0.12:4001/NameService#org/Erlang/MyObj
+ To lookup the NameService reference with an IPv6 address, simply use:
+ corbaloc:iiop:1.2@[FEC1:0:3:0:0312:44AF:FAB1:3D01]:4001/NameService
For more information about corbaname and corbaloc , see
the User's Guide (Interoperable Naming Service).
The configuration context is used to override the global
diff --git a/lib/orber/doc/src/fixed.xml b/lib/orber/doc/src/fixed.xml
index a751476cf7..ef4d1bd604 100644
--- a/lib/orber/doc/src/fixed.xml
+++ b/lib/orber/doc/src/fixed.xml
@@ -4,8 +4,7 @@
- 2002
- 2016
+ 2002 2017
Ericsson AB, All Rights Reserved
@@ -38,8 +37,8 @@
This module contains functions that gives an interface to the CORBA fixed type.
The type Fixed used below is defined as:
-
- -record(fixed, {digits, scale, value}).
+
+-record(fixed, {digits, scale, value}).
where digits is the total amount of digits it consists of and
scale is the number of fractional digits. The value field
diff --git a/lib/orber/doc/src/lname.xml b/lib/orber/doc/src/lname.xml
index 09d6859777..c0c9be1a85 100644
--- a/lib/orber/doc/src/lname.xml
+++ b/lib/orber/doc/src/lname.xml
@@ -4,7 +4,7 @@
- 1997 2016
+ 1997 2017
Ericsson AB. All Rights Reserved.
@@ -44,14 +44,14 @@
the Names are represented as standard Erlang lists and therefor will be removed
by the garbage collector when not in use.
The type NameComponent used below is defined as:
-
- -record('CosNaming_NameComponent', {id, kind=""}).
+
+-record('CosNaming_NameComponent', {id, kind=""}).
id and kind are strings.
The record is defined in the file CosNaming.hrl and it
is included with:
-
- -include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
diff --git a/lib/orber/doc/src/lname_component.xml b/lib/orber/doc/src/lname_component.xml
index 631e5d0244..8b8001c0fb 100644
--- a/lib/orber/doc/src/lname_component.xml
+++ b/lib/orber/doc/src/lname_component.xml
@@ -4,7 +4,7 @@
- 1997 2016
+ 1997 2017
Ericsson AB. All Rights Reserved.
@@ -44,14 +44,14 @@
function because the NameComponents are represented as Erlang records and
therefor will be removed by the garbage collector when not in use.
The type NameComponent used below is defined as:
-
- -record('CosNaming_NameComponent', {id, kind=""}).
+
+-record('CosNaming_NameComponent', {id, kind=""}).
id and kind are strings.
The record is defined in the file CosNaming.hrl and it
is included with:
-
- -include_lib("orber/COSS/CosNaming/CosNaming.hrl").
+
+-include_lib("orber/COSS/CosNaming/CosNaming.hrl").
--
cgit v1.2.3