cosNotificationApp
(cosNotification)The main module of the cosNotification application.
To get access to the record definitions for the structures use:
-include_lib("cosNotification/include/*.hrl").
This module contains the functions for starting and stopping the application.
Functions
install() -> Return
Return = ok | {'EXCEPTION', E}
This operation installs the cosNotification application.
install(Seconds) -> Return
Return = ok | {'EXCEPTION', E}
This operation installs the cosNotification application using Seconds
delay between each block, currently 6, of IFR-registrations. This approach
spreads the IFR database access over a period of time to allow other
applications to run smother.
install_event() -> Return
Return = ok | {'EXCEPTION', E}
This operation, which may only be used if it is impossible to
upgrade to cosEvent-2.0 or later, installs the necessary
cosEvent interfaces. If cosEvent-2.0 is available, use
cosEventApp:install()
instead.
install_event(Seconds) -> Return
Return = ok | {'EXCEPTION', E}
This operation, which may only be used if it is impossible to
upgrade to cosEvent-2.0 or later, installs the necessary cosEvent
interfaces using Seconds
delay between each block of
IFR-registrations. If cosEvent-2.0 is available, use
cosEventApp:install()
instead.
uninstall() -> Return
Return = ok | {'EXCEPTION', E}
This operation uninstalls the cosNotification application.
uninstall(Seconds) -> Return
Return = ok | {'EXCEPTION', E}
This operation uninstalls the cosNotification application using Seconds
delay between each block, currently 6, of IFR-unregistrations. This approach
spreads the IFR database access over a period of time to allow other
applications to run smother.
uninstall_event() -> Return
Return = ok | {'EXCEPTION', E}
This operation uninstalls the inherited cosEvent interfaces. If cosEvent
is in use this function may not be used. This function may only be used if
cosNotificationApp:install_event/1/2
was used. If not, use
cosEventApp:uninstall()
instead.
uninstall_event(Seconds) -> Return
Return = ok | {'EXCEPTION', E}
This operation uninstalls the inherited cosEvent interfaces, using Seconds
delay between each block of IFR-unregistrations. If cosEvent
is in use this function may not be used. This function may only be used if
cosNotificationApp:install_event/1/2
was used. If not, use
cosEventApp:uninstall()
instead.
start() -> Return
Return = ok | {error, Reason}
This operation starts the cosNotification application.
stop() -> Return
Return = ok | {error, Reason}
This operation stops the cosNotification application.
start_global_factory() -> ChannelFactory
ChannelFactory = #objref
This operation creates a Event Channel Factory should be used for a multi-node Orber. The Factory is used to create a new channel.
start_global_factory(Options) -> ChannelFactory
Options = [Option]
Option = {pullInterval, Seconds} | {filterOp, Op} | {gcTime, Seconds} | {gcLimit, Anount} | {timeService, #objref}
ChannelFactory = #objref
This operation creates a Event Channel Factory and should be used for a multi-node Orber. The Factory is used to create a new channel.
{pullInterval, Seconds}
- determine how often Proxy Pull
Consumers will check for new events with the client application. The
default value is 20 seconds.{filterOp, OperationType}
- determine which type of Administrator
objects should be started, i.e., 'OR_OP'
or 'AND_OP'
.
The default value is 'OR_OP'
.{timeService, TimeServiceObj | 'undefined'}
- to be able to use
Start and/or Stop QoS this option must be used. See the function start_time_service/2
in the cosTime
application. The default value is 'undefined'
.{filterOp, OperationType}
- determine which type of Administrator
objects should be started, i.e., 'OR_OP'
or 'AND_OP'
.
The default value is 'OR_OP'
.{gcTime, Seconds}
- this option determines how often, for example, proxies
will garbage collect expired events. The default value is 60.{gcLimit, Amount}
- determines how many events will be stored before, for
example, proxies will garbage collect expired events. The default value is 50. This
option is tightly coupled with the QoS property MaxEventsPerConsumer
, i.e.,
the gcLimit
should be less than MaxEventsPerConsumer
and greater than 0.
start_factory() -> ChannelFactory
ChannelFactory = #objref
This operation creates a Event Channel Factory. The Factory is used to create a new channel.
start_factory(Options) -> ChannelFactory
Options = [Option]
Option = {pullInterval, Seconds} | {filterOp, Op} | {gcTime, Seconds} | {gcLimit, Amount} | {timeService, #objref}
ChannelFactory = #objref
This operation creates a Event Channel Factory. The Factory is used to create a new channel.
stop_factory(ChannelFactory) -> Reply
ChannelFactory = #objref
Reply = ok | {'EXCEPTION', E}
This operation stop the target channel factory.
start_filter_factory() -> FilterFactory
FilterFactory = #objref
This operation creates a Filter Factory. The Factory is used to create a new Filter's and MappingFilter's.
stop_filter_factory(FilterFactory) -> Reply
FilterFactory = #objref
Reply = ok | {'EXCEPTION', E}
This operation stop the target filter factory.
create_structured_event(Domain, Type, Event, VariableHeader, FilterableBody, BodyRemainder) -> Reply
Domain = string()
Type = string()
Event = string()
VariableHeader = [CosNotification::Property]
FilterableBody = [CosNotification::Property]
BodyRemainder = #any data-type
Reply = CosNotification::StructuredEvent | {'EXCEPTION', E}
An easy way to create a structured event is to use this function. Simple typechecks are performed and if one of the arguments is not correct a 'BAD_PARAM' exception is thrown.
type_check() -> Reply
Reply = true | false
This operation returns the value of the configuration parameter
type_check
.