⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 notificationirpsystem.idl

📁 UCS (Ultra Corba Simulator) is one more powerful corba client/servant simulator tool than other simi
💻 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 + -