Erlang -- cosNotificationApp

cosNotification

Reference Manual

Version 1.2.2

- User's Guide
- Reference Manual
- Release Notes
- PDF
- Top

- Expand All
- Contract All

### Table of Contents

- cosNotificationApp
  - Top of manual page
  - create_structured_event/6
  - install/0
  - install/1
  - install_event/0
  - install_event/1
  - start/0
  - start_factory/0
  - start_factory/1
  - start_filter_factory/0
  - start_global_factory/0
  - start_global_factory/1
  - stop/0
  - stop_factory/1
  - stop_filter_factory/1
  - type_check/0
  - uninstall/0
  - uninstall/1
  - uninstall_event/0
  - uninstall_event/1
- CosNotifyChannelAdmin_EventChannelFactory
  - Top of manual page
  - create_channel/3
  - get_all_channels/1
  - get_event_channel/2
- CosNotifyChannelAdmin_EventChannel
  - Top of manual page
  - destroy/1
  - for_consumers/1
  - for_suppliers/1
  - get_all_consumeradmins/1
  - get_all_supplieradmins/1
  - get_consumeradmin/2
  - get_supplieradmin/2
  - new_for_consumers/2
  - new_for_suppliers/2
  - _get_MyFactory/1
  - _get_default_consumer_admin/1
  - _get_default_filter_factory/1
  - _get_default_supplier_admin/1
- CosNotification
  - Top of manual page
  - 'AnyOrder'/0
  - 'BestEffort'/0
  - 'ConnectionReliability'/0
  - 'DeadlineOrder'/0
  - 'DefaultPriority'/0
  - 'DiscardPolicy'/0
  - 'EventReliability'/0
  - 'FifoOrder'/0
  - 'HighestPriority'/0
  - 'LifoOrder'/0
  - 'LowestPriority'/0
  - 'MaxConsumers'/0
  - 'MaxEventsPerConsumer'/0
  - 'MaxQueueLength'/0
  - 'MaxSuppliers'/0
  - 'MaximumBatchSize'/0
  - 'OrderPolicy'/0
  - 'PacingInterval'/0
  - 'Persistent'/0
  - 'Priority'/0
  - 'PriorityOrder'/0
  - 'RejectNewEvents'/0
  - 'StartTime'/0
  - 'StartTimeSupported'/0
  - 'StopTime'/0
  - 'StopTimeSupported'/0
  - 'Timeout'/0
- CosNotification_QoSAdmin
  - Top of manual page
  - get_qos/1
  - set_qos/2
  - validate_qos/2
- CosNotification_AdminPropertiesAdmin
  - Top of manual page
  - get_admin/1
  - set_admin/2
- CosNotifyChannelAdmin_ConsumerAdmin
  - Top of manual page
  - destroy/1
  - get_proxy_supplier/2
  - obtain_notification_pull_supplier/2
  - obtain_notification_push_supplier/2
  - obtain_pull_supplier/1
  - obtain_push_supplier/1
  - _get_MyChannel/1
  - _get_MyID/1
  - _get_MyOperator/1
  - _get_lifetime_filter/1
  - _get_priority_filter/1
  - _get_pull_suppliers/1
  - _get_push_suppliers/1
  - _set_lifetime_filter/2
  - _set_priority_filter/2
- CosNotifyChannelAdmin_SupplierAdmin
  - Top of manual page
  - destroy/1
  - get_proxy_consumer/2
  - obtain_notification_pull_consumer/2
  - obtain_notification_push_consumer/2
  - obtain_pull_consumer/1
  - obtain_push_consumer/1
  - _get_MyChannel/1
  - _get_MyID/1
  - _get_MyOperator/1
  - _get_pull_consumers/1
  - _get_push_consumers/1
- CosNotifyComm_NotifyPublish
  - Top of manual page
  - offer_change/3
- CosNotifyComm_NotifySubscribe
  - Top of manual page
  - subscription_change/3
- CosNotifyFilter_FilterAdmin
  - Top of manual page
  - add_filter/2
  - get_all_filters/1
  - get_filter/2
  - remove_all_filters/1
  - remove_filter/2
- CosNotifyFilter_FilterFactory
  - Top of manual page
  - create_filter/2
  - create_mapping_filter/2
- CosNotifyFilter_Filter
  - Top of manual page
  - add_constraints/2
  - attach_callback/2
  - destroy/1
  - detach_callback/2
  - get_all_constraints/1
  - get_callbacks/1
  - get_constraints/2
  - match/2
  - match_structured/2
  - modify_constraints/3
  - remove_all_constraints/1
  - _get_constraint_grammar/1
- CosNotifyFilter_MappingFilter
  - Top of manual page
  - add_mapping_constraints/2
  - destroy/1
  - get_all_mapping_constraints/1
  - get_mapping_constraints/2
  - match/2
  - match_structured/2
  - modify_constraints/3
  - remove_all_mapping_constraints/1
  - _get_constraint_grammar/1
  - _get_default_value/1
  - _get_value_type/1
- CosNotifyChannelAdmin_ProxyConsumer
  - Top of manual page
  - obtain_subscription_types/2
  - validate_event_qos/2
  - _get_MyAdmin/1
  - _get_MyType/1
- CosNotifyChannelAdmin_ProxySupplier
  - Top of manual page
  - obtain_offered_types/2
  - validate_event_qos/2
  - _get_MyAdmin/1
  - _get_MyType/1
  - _get_lifetime_filter/1
  - _get_priority_filter/1
  - _set_lifetime_filter/2
  - _set_priority_filter/2
- CosNotifyChannelAdmin_ProxyPullConsumer
  - Top of manual page
  - connect_any_pull_supplier/2
  - disconnect_pull_consumer/1
  - resume_connection/1
  - suspend_connection/1
- CosNotifyChannelAdmin_ProxyPullSupplier
  - Top of manual page
  - connect_any_pull_consumer/2
  - disconnect_pull_supplier/1
  - pull/1
  - try_pull/1
- CosNotifyChannelAdmin_ProxyPushConsumer
  - Top of manual page
  - connect_any_push_supplier/2
  - disconnect_push_consumer/1
  - push/2
- CosNotifyChannelAdmin_ProxyPushSupplier
  - Top of manual page
  - connect_any_push_consumer/2
  - disconnect_push_supplier/1
  - resume_connection/1
  - suspend_connection/1
- CosNotifyChannelAdmin_SequenceProxyPullConsumer
  - Top of manual page
  - connect_sequence_pull_supplier/2
  - disconnect_sequence_pull_consumer/1
  - resume_connection/1
  - suspend_connection/1
- CosNotifyChannelAdmin_SequenceProxyPullSupplier
  - Top of manual page
  - connect_sequence_pull_consumer/2
  - disconnect_sequence_pull_supplier/1
  - pull_structured_events/2
  - try_pull_structured_events/2
- CosNotifyChannelAdmin_SequenceProxyPushConsumer
  - Top of manual page
  - connect_sequence_push_supplier/2
  - disconnect_sequence_push_consumer/1
  - push_structured_events/2
- CosNotifyChannelAdmin_SequenceProxyPushSupplier
  - Top of manual page
  - connect_sequence_push_consumer/2
  - disconnect_sequence_push_supplier/1
  - resume_connection/1
  - suspend_connection/1
- CosNotifyChannelAdmin_StructuredProxyPullConsumer
  - Top of manual page
  - connect_structured_pull_supplier/2
  - disconnect_structured_pull_consumer/1
  - resume_connection/1
  - suspend_connection/1
- CosNotifyChannelAdmin_StructuredProxyPullSupplier
  - Top of manual page
  - connect_structured_pull_consumer/2
  - disconnect_structured_pull_supplier/1
  - pull_structured_event/1
  - try_pull_structured_event/1
- CosNotifyChannelAdmin_StructuredProxyPushConsumer
  - Top of manual page
  - connect_structured_push_supplier/2
  - disconnect_structured_push_consumer/1
  - push_structured_event/2
- CosNotifyChannelAdmin_StructuredProxyPushSupplier
  - Top of manual page
  - connect_structured_push_consumer/2
  - disconnect_structured_push_supplier/1
  - resume_connection/1
  - suspend_connection/1

# cosNotificationApp

### Module

cosNotificationApp

### Module Summary

The main module of the cosNotification application.

### Description

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.

### Exports

install() -> Return

### Types

Return = ok | {'EXCEPTION', E}

This operation installs the cosNotification application.

install(Seconds) -> Return

### Types

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

### Types

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

### Types

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

### Types

Return = ok | {'EXCEPTION', E}

This operation uninstalls the cosNotification application.

uninstall(Seconds) -> Return

### Types

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

### Types

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

### Types

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

### Types

Return = ok | {error, Reason}

This operation starts the cosNotification application.

stop() -> Return

### Types

Return = ok | {error, Reason}

This operation stops the cosNotification application.

start_global_factory() -> ChannelFactory

### Types

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

### Types

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

### Types

ChannelFactory = #objref

This operation creates a Event Channel Factory. The Factory is used to create a new channel.

start_factory(Options) -> ChannelFactory

### Types

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

### Types

ChannelFactory = #objref
Reply = ok | {'EXCEPTION', E}

This operation stop the target channel factory.

start_filter_factory() -> FilterFactory

### Types

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

### Types

FilterFactory = #objref
Reply = ok | {'EXCEPTION', E}

This operation stop the target filter factory.

create_structured_event(Domain, Type, Event, VariableHeader, FilterableBody, BodyRemainder) -> Reply

### Types

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

### Types

Reply = true | false

This operation returns the value of the configuration parameter type_check.