Advertisement
Guest User

NotificationIRPSystem

a guest
Jul 24th, 2017
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.82 KB | None | 0 0
  1. //File: NotificationIRPSystem.idl
  2. //The IRP document version number is "Notification IRP V1.2.0"
  3.  
  4. #ifndef _NotificationIRPSystem_idl_
  5. #define _NotificationIRPSystem_idl_
  6.  
  7. #include "CosNotifyChannelAdmin.idl"
  8. #include "ManagedGenericIRPConstDefs.idl"
  9. #include "ManagedGenericIRPSystem.idl"
  10. #include "NotificationIRPConstDefs.idl"
  11.  
  12. // This statement must appear after all include statements
  13. #pragma prefix "3gppsa5.org"
  14.  
  15. /* ## Module: NotificationIRPSystem
  16. This module implements capabilities of Notification IRP.
  17. ================================================================
  18. */
  19. module NotificationIRPSystem
  20. {
  21. /*
  22. System fails to complete the operation. System can provide reason
  23. to qualify the exception. The semantics carried in reason
  24. is outside the scope of this IRP.
  25. */
  26. exception GetNotificationIRPVersions { string reason; };
  27. exception GetNotificationIRPOperationsProfile { string reason; };
  28. exception GetNotificationIRPNotificationProfile { string reason; };
  29. exception Attach { string reason; };
  30. exception DetachException { string reason; };
  31. exception GetSubscriptionStatus { string reason; };
  32. exception ChangeSubscriptionFilter { string reason; };
  33. exception GetNotificationCategories { string reason; };
  34.  
  35. exception GetSubscriptionIds { string reason; };
  36.  
  37. exception AlreadySubscribed {};
  38. exception AtLeastOneNotificationCategoryNotSupported {};
  39.  
  40. interface NotificationIRP
  41. {
  42. /*
  43. Return the list of all supported Notification IRP versions
  44. Each IRPVersion is defined by the rule in TS 32.311 clause titled
  45. "IRP document version number string"
  46. */
  47. ManagedGenericIRPConstDefs::VersionNumberSet get_notification_IRP_versions
  48. (
  49. )
  50. raises (GetNotificationIRPVersions);
  51.  
  52. /*
  53. Return the list of all supported operations and their supported
  54. parameters for a specific Notification IRP version.
  55. */
  56. ManagedGenericIRPConstDefs::MethodList
  57. get_notification_IRP_operations_profile (
  58. in ManagedGenericIRPConstDefs::VersionNumber
  59. notification_irp_version
  60. )
  61. raises (GetNotificationIRPOperationsProfile,
  62. ManagedGenericIRPSystem::OperationNotSupported,
  63. ManagedGenericIRPSystem::InvalidParameter);
  64.  
  65. /*
  66. Return the list of all supported notifications.
  67. Agent should always throw a ManagedGenericIRPSystem::OperationNotSupported
  68. exception.
  69. Similar method, such as get_alarm_IRP_notification_profile,
  70. is supported in other IRP versions such as Alarm IRP.
  71. */
  72. ManagedGenericIRPConstDefs::MethodList
  73. get_notification_IRP_notification_profile (
  74. in ManagedGenericIRPConstDefs::VersionNumber
  75. notification_irp_version
  76. )
  77. raises (GetNotificationIRPNotificationProfile,
  78. ManagedGenericIRPSystem::OperationNotSupported,
  79. ManagedGenericIRPSystem::InvalidParameter);
  80.  
  81. /*
  82. Obtain the list of all supported notification categories.
  83. */
  84. NotificationIRPConstDefs::NotificationCategorySet
  85. get_notification_categories (
  86. out NotificationIRPConstDefs::NotificationTypesSet
  87. notification_type_list
  88. )
  89. raises (GetNotificationCategories,
  90. ManagedGenericIRPSystem::OperationNotSupported);
  91.  
  92. NotificationIRPConstDefs::SubscriptionId attach_push (
  93. in string manager_reference,
  94. in unsigned long time_tick,
  95. in NotificationIRPConstDefs::NotificationCategorySet
  96. notification_categories,
  97. in ManagedGenericIRPConstDefs::StringTypeOpt filter
  98. )
  99. raises (Attach, ManagedGenericIRPSystem::ParameterNotSupported,
  100. ManagedGenericIRPSystem::InvalidParameter, AlreadySubscribed,
  101. AtLeastOneNotificationCategoryNotSupported);
  102.  
  103. NotificationIRPConstDefs::SubscriptionId attach_push_b (
  104. in string manager_reference,
  105. in unsigned long time_tick,
  106. in NotificationIRPConstDefs::NotificationCategorySet
  107. notification_categories,
  108. in ManagedGenericIRPConstDefs::StringTypeOpt filter,
  109. out CosNotifyChannelAdmin::SequenceProxyPushSupplier system_reference
  110. )
  111. raises (Attach, ManagedGenericIRPSystem::OperationNotSupported,
  112. ManagedGenericIRPSystem::ParameterNotSupported,
  113. ManagedGenericIRPSystem::InvalidParameter,
  114. AlreadySubscribed, AtLeastOneNotificationCategoryNotSupported);
  115.  
  116. NotificationIRPConstDefs::SubscriptionId attach_pull (
  117. in string manager_reference,
  118. in unsigned long time_tick,
  119. in NotificationIRPConstDefs::NotificationCategorySet
  120. notification_categories,
  121. in ManagedGenericIRPConstDefs::StringTypeOpt filter,
  122. out CosNotifyChannelAdmin::SequenceProxyPullSupplier system_reference
  123. )
  124. raises (Attach, ManagedGenericIRPSystem::OperationNotSupported,
  125. ManagedGenericIRPSystem::ParameterNotSupported,
  126. ManagedGenericIRPSystem::InvalidParameter,
  127. AlreadySubscribed, AtLeastOneNotificationCategoryNotSupported);
  128.  
  129. /*
  130. Replace the present filter constraint with the one provided.
  131. */
  132. void change_subscription_filter (
  133. in NotificationIRPConstDefs::SubscriptionId subscription_id,
  134. in string filter
  135. )
  136. raises (ChangeSubscriptionFilter,
  137. ManagedGenericIRPSystem::OperationNotSupported,
  138. ManagedGenericIRPSystem::InvalidParameter);
  139.  
  140. /*
  141. Check the current state of the subscription.
  142. */
  143. NotificationIRPConstDefs::NotificationCategorySet get_subscription_status
  144. (
  145. in NotificationIRPConstDefs::SubscriptionId subscription_id,
  146. out ManagedGenericIRPConstDefs::StringTypeOpt filter_in_effect,
  147. out NotificationIRPConstDefs::SubscriptionState subscription_state,
  148. out unsigned long time_tick
  149. )
  150. raises (GetSubscriptionStatus,
  151. ManagedGenericIRPSystem::OperationNotSupported,
  152. ManagedGenericIRPSystem::InvalidParameter);
  153.  
  154. NotificationIRPConstDefs::SubscriptionIdSet get_subscription_ids (
  155. in string manager_reference
  156. )
  157. raises (GetSubscriptionIds,
  158. ManagedGenericIRPSystem::OperationNotSupported,
  159. ManagedGenericIRPSystem::InvalidParameter);
  160.  
  161. /*
  162. Terminates the subscription with the agent.
  163. */
  164. void detach (
  165. in string manager_reference,
  166. in NotificationIRPConstDefs::SubscriptionId subscription_id
  167. )
  168. raises (DetachException,
  169. ManagedGenericIRPSystem::ParameterNotSupported,
  170. ManagedGenericIRPSystem::InvalidParameter);
  171. };
  172. };
  173.  
  174. #endif //_NotificationIRPSystem_idl_
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement