📄 notificationirpsystem.idl
字号:
//File: NotificationIRPSystem.idl
#ifndef _NOTIFICATION_IRP_SYSTEM_IDL_
#define _NOTIFICATION_IRP_SYSTEM_IDL_
#include <CosNotifyChannelAdmin.idl>
#include <ManagedGenericIRPConstDefs.idl>
#include <ManagedGenericIRPSystem.idl>
#include <NotificationIRPConstDefs.idl>
// This statement must appear after all include statements
#pragma prefix "3gppsa5.org"
/* ## Module: NotificationIRPSystem
This module implements capabilities of Notification IRP.
================================================================
*/
module NotificationIRPSystem
{
/*
System fails to complete the operation. System can provide reason
to qualify the exception. The semantics carried in reason
is outside the scope of this IRP.
*/
exception GetNotificationIRPVersions { string reason; };
exception GetNotificationIRPOperationsProfile { string reason; };
exception GetNotificationIRPNotificationProfile { string reason; };
exception Attach { string reason; };
exception DetachException { string reason; };
exception GetSubscriptionStatus { string reason; };
exception ChangeSubscriptionFilter { string reason; };
exception GetNotificationCategories { string reason; };
exception GetSubscriptionIds { string reason; };
exception AlreadySubscribed {};
exception AtLeastOneNotificationCategoryNotSupported {};
interface NotificationIRP
{
/*
Return the list of all supported Notification IRP versions
Each IRPVersion is defined by the rule in TS 32.311 clause titled
"IRP document version number string"
*/
ManagedGenericIRPConstDefs::VersionNumberSet get_notification_irp_versions
(
)
raises (GetNotificationIRPVersions);
/*
Return the list of all supported operations and their supported
parameters for a specific Notification IRP version.
*/
ManagedGenericIRPConstDefs::MethodList
get_notification_irp_operations_profile (
in ManagedGenericIRPConstDefs::VersionNumber
notification_irp_version
)
raises (GetNotificationIRPOperationsProfile,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Return the list of all supported notifications.
Agent should always throw a ManagedGenericIRPSystem::OperationNotSupported
exception.
Similar method, such as get_alarm_IRP_notification_profile,
is supported in other IRP versions such as Alarm IRP.
*/
ManagedGenericIRPConstDefs::MethodList
get_notification_irp_notification_profile (
in ManagedGenericIRPConstDefs::VersionNumber
notification_irp_version
)
raises (GetNotificationIRPNotificationProfile,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Obtain the list of all supported notification categories.
*/
NotificationIRPConstDefs::NotificationCategorySet
get_notification_categories (
out NotificationIRPConstDefs::NotificationTypesSetOpt
notification_type_list
)
raises (GetNotificationCategories,
ManagedGenericIRPSystem::OperationNotSupported);
NotificationIRPConstDefs::SubscriptionId attach_push (
in string manager_reference,
in ManagedGenericIRPConstDefs::UnsignedLongOpt time_tick,
in NotificationIRPConstDefs::NotificationCategorySetOpt
notification_categories,
in ManagedGenericIRPConstDefs::StringOpt filter
)
raises (Attach, ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter, AlreadySubscribed,
AtLeastOneNotificationCategoryNotSupported);
NotificationIRPConstDefs::SubscriptionId attach_push_b (
in string manager_reference,
in ManagedGenericIRPConstDefs::UnsignedLongOpt time_tick,
in NotificationIRPConstDefs::NotificationCategorySetOpt
notification_categories,
in ManagedGenericIRPConstDefs::StringOpt filter,
out CosNotifyChannelAdmin::SequenceProxyPushSupplier system_reference
)
raises (Attach, ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter,
AlreadySubscribed, AtLeastOneNotificationCategoryNotSupported);
NotificationIRPConstDefs::SubscriptionId attach_pull (
in string manager_reference,
in ManagedGenericIRPConstDefs::UnsignedLongOpt time_tick,
in NotificationIRPConstDefs::NotificationCategorySetOpt
notification_categories,
in ManagedGenericIRPConstDefs::StringOpt filter,
out CosNotifyChannelAdmin::SequenceProxyPullSupplier system_reference
)
raises (Attach, ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter,
AlreadySubscribed, AtLeastOneNotificationCategoryNotSupported);
/*
Replace the present filter constraint with the one provided.
*/
void change_subscription_filter (
in NotificationIRPConstDefs::SubscriptionId subscription_id,
in string filter
)
raises (ChangeSubscriptionFilter,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Check the current state of the subscription.
*/
NotificationIRPConstDefs::NotificationCategorySet get_subscription_status
(
in NotificationIRPConstDefs::SubscriptionId subscription_id,
out ManagedGenericIRPConstDefs::StringOpt filter_in_effect,
out NotificationIRPConstDefs::SubscriptionStateOpt subscription_state,
out ManagedGenericIRPConstDefs::UnsignedLongOpt time_tick
)
raises (GetSubscriptionStatus,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
NotificationIRPConstDefs::SubscriptionIdSet get_subscription_ids (
in string manager_reference
)
raises (GetSubscriptionIds,
ManagedGenericIRPSystem::OperationNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
/*
Terminates the subscription with the agent.
*/
void detach (
in string manager_reference,
in NotificationIRPConstDefs::SubscriptionIdOpt subscription_id
)
raises (DetachException,
ManagedGenericIRPSystem::ParameterNotSupported,
ManagedGenericIRPSystem::InvalidParameter);
};
};
#endif // _NOTIFICATION_IRP_SYSTEM_IDL_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -