cosNotificationApp
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 functionstart_time_service/2
in thecosTime
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 propertyMaxEventsPerConsumer
, i.e., thegcLimit
should be less thanMaxEventsPerConsumer
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
.