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

📄 csirpsystem.idl

📁 UCS (Ultra Corba Simulator) is one more powerful corba client/servant simulator tool than other simi
💻 IDL
字号:
//File: CSIRPSystem.idl
#ifndef _CS_IRP_SYSYEM_IDL_
#define _CS_IRP_SYSYEM_IDL_

#include <ManagedGenericIRPSystem.idl>
#include <ManagedGenericIRPConstDefs.idl>
#include <CSIRPConstDefs.idl>

// This statement must appear after all include statements
#pragma prefix "3gppsa5.org"

/* ## Module: CSIRPSystem
This module implements capabilities of CSIRP.
=============================================
*/
module CSIRPSystem
{
   /**
   * The InvalidHeartbeatPeriod exception is used when the period
   * value to be set by IRPManager is not a reasonable in IRPAgent's
   * implementation. A very short period may cause IRPAgent to
   * send many heartbeat notification in a short time, which may
   * decrease the performance of IRPAgent. To prevent this,
   * IRPAgent may set the lower limit period in its system
   * implemntation. When the period to be set is shorter the
   * lower limit period, IRPAgent may throw this exception
   * and reject to set the period to new value.
   * Note: set the period to zero must be allowed. The behaviour of
   * setting period to zero pls see definition for Period.
   */
   exception InvalidHeartbeatPeriod
   {
      unsigned short period_lower_limit;
      string reason;
   };

   exception InvalidManagerIdentifier { string reason; };
   exception ConflictingHeartbeatPeriod { string reason; };

   /*
   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 GetHeartbeatPeriod { string reason; };
   exception SetHeartbeatPeriod { string reason; };
   exception TriggerHeartbeat { string reason; };
   exception GetCSIRPVersions { string reason; };
   exception GetCSIRPOperationsProfile { string reason; };
   exception GetCSIRPNotificationProfile { string reason; };

   interface CSIRP
   {
      /**
      * IRPManager invokes this operation to obtain the current
      * heartbeat period.
      */
      CSIRPConstDefs::Result get_heartbeat_period(
         out CSIRPConstDefs::HeartbeatPeriod heartbeat_period
      )
      raises (GetHeartbeatPeriod);

      /**
      * IRPManager invokes this operation to set the heartbeatPeriod.
      * If the heartbeatPeriod is modified by one IRPManager, a
      * notifyHeartbeat notification should be emitted
      * immediately to all the subscribed IRPManagers to indicate
      * the new heartbeatPeriod. If the heartbeatPeriod is set to
      * zero, one notifyHeartbeat notification will be
      * emitted immediately and no more
      * notifications unless the heartbeatPeriod is modified again.
      */
      CSIRPConstDefs::Result set_heartbeat_period(
         in CSIRPConstDefs::HeartbeatPeriod heartbeat_period
      )
      raises (SetHeartbeatPeriod,
              ConflictingHeartbeatPeriod,
              InvalidHeartbeatPeriod,
              ManagedGenericIRPSystem::ValueNotSupported,
              ManagedGenericIRPSystem::OperationNotSupported);

      /*
      * IRPManager invoke this operation to trigger ET_HEARTBEAT
      * notification positively.
      */
      CSIRPConstDefs::Result trigger_heartbeat(
         in CSIRPConstDefs::ManagerIdentifier manager_identifier
      )
      raises (TriggerHeartbeat, InvalidManagerIdentifier);

      /**
      * Return the list of all supported CSIRP versions.
      */
      ManagedGenericIRPConstDefs::VersionNumberSet get_cs_irp_versions (
      )
      raises (GetCSIRPVersions);

      /**
      * Return the list of all supported operations and their supported
      * parameters for a specific CSIRP version.
      */
      ManagedGenericIRPConstDefs::MethodList get_cs_irp_operations_profile (
         in ManagedGenericIRPConstDefs::VersionNumber irp_version
      )
      raises (GetCSIRPOperationsProfile,
              ManagedGenericIRPSystem::OperationNotSupported,
              ManagedGenericIRPSystem::InvalidParameter);

      /**
      * Return the list of all supported notifications and their supported
      * parameters for a specific CSIRP version.
      */
      ManagedGenericIRPConstDefs::MethodList get_cs_irp_notification_profile (
         in ManagedGenericIRPConstDefs::VersionNumber irp_version
      )
      raises (GetCSIRPNotificationProfile,
              ManagedGenericIRPSystem::OperationNotSupported,
              ManagedGenericIRPSystem::InvalidParameter);
   };

};

#endif // _CS_IRP_SYSTEM_IDL_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -