-- IDL module extracted from ITU-T Q Suppl. 28 (12/1999)

// File: SPFEERetSubscriberSubscriptionMgmt.idl // Based on: SPFEEScsSubscriptionService.idl // Contents: Definition of the online subscription management // service specific interface. // #ifndef SPFEERetSubscriberSubscriptionMgmt_IDL #define SPFEERetSubscriberSubscriptionMgmt_IDL #include "SPFEESubCommonTypes.idl" module SPFEERetSubscriberSubscriptionMgmt { interface i_SubscriberSubscriptionMgmt { enum t_errorType { NameTooLong, AddressTooLong, OtherErrors }; exception e_invalidSubscriberInfo{ t_errorType errorType; }; exception e_unknownSubscriber{ SPFEESubCommonTypes::t_AccountNumber subscriberId; }; exception e_applicationError{}; exception e_invalidEntityInfo{}; exception e_unknownSAE{ SPFEESubCommonTypes::t_entityId entityId; }; exception e_unknownSAG{ SPFEESubCommonTypes::t_SagId sagId; }; exception e_invalidSAG{ SPFEESubCommonTypes::t_SagId sagId; }; exception e_invalidContractInfo{}; exception e_invalidSubscriptionProfile{}; exception e_invalidSAGServiceProfile{ SPFEESubCommonTypes::t_ServiceProfileId spId; }; exception e_unknownServiceProfile{ SPFEESubCommonTypes::t_ServiceProfileId spId; }; exception e_unknownServiceId{ SPFEEAccessCommonTypes::t_ServiceId serviceId; }; exception e_invalidSearchCriteria{}; exception e_notSubscribedService{ SPFEEAccessCommonTypes::t_ServiceId serviceId; }; // Operations for Subscription and Service Contract handling // This operation returns the list of services available for subscription and use. void listServices ( out SPFEEAccessCommonTypes::t_ServiceList serviceList ) raises (e_applicationError); // This operation creates a subscription for a new customer. // The initial list of services the subscriber wants to contract can be specified. // It returns: // ( a unique identifier for the subscriber. // ( a list of service templates void subscribe ( in SPFEESubCommonTypes::t_Subscriber subscriberInfo, in SPFEESubCommonTypes::t_ServiceIdList serviceList, out SPFEESubCommonTypes::t_AccountNumber subscriberId, out SPFEESubCommonTypes::t_ServiceTemplateList svcTemplateList ) raises (e_invalidSubscriberInfo, e_unknownServiceId, e_applicationError); // This operation creates a (set of) new service contract(s) for an existing customer. // A list of services the subscriber wants to contract is specified. // It returns a list of service contract management interfaces, // one for each of the services requested. void contractService ( in SPFEESubCommonTypes::t_ServiceIdList serviceList, out SPFEESubCommonTypes::t_ServiceTemplateList svcTemplateList ) raises (e_unknownSubscriber, e_unknownServiceId, e_applicationError); // This operation withdraws a subscription or a list of service contracts. // The list of services the subscriber wants to unsubscribe // is an input parameter. If this list is empty, that means // the withdrawal of all the services, and thus the subscription. void unsubscribe ( in SPFEESubCommonTypes::t_ServiceIdList serviceList ) raises (e_unknownSubscriber, e_unknownServiceId, e_applicationError); // Operations for Subscriber Information Management. // ------------------------------------------------------------ // This operation creates a set of entities. // Sub generates a unique identifier for every entity. // void createSAEs ( in SPFEESubCommonTypes::t_EntityList entityList, out SPFEESubCommonTypes::t_entityIdList entityIdList ) raises (e_applicationError, e_invalidEntityInfo); // This operation deletes a set of entities. The entity is // removed from all the SAGs it could be assigned to and then deleted. void deleteSAEs ( in SPFEESubCommonTypes::t_EntityList entityList, in SPFEESubCommonTypes::t_entityIdList entityIdList ) raises (e_applicationError, e_unknownSAE); // This operation creates a set of SAGs. // It returns a set of unique SAG identifiers. void createSAGs ( in SPFEESubCommonTypes::t_SagList sagList, out SPFEESubCommonTypes::t_SagIdList sagIdList ) raises (e_applicationError, e_invalidSAG, e_unknownSAG); // This operation deletes a SAG. The entities belonging to that SAG are not deleted. void deleteSAGs ( in SPFEESubCommonTypes::t_SagIdList sagIdList ) raises (e_applicationError, e_unknownSAG); // This operation assigns a list of entities to a SAG. void assignSAEs ( in SPFEESubCommonTypes::t_entityIdList entityList, in SPFEESubCommonTypes::t_SagId sagId ) raises (e_unknownSAE, e_unknownSAG, e_applicationError); // This operation removes a list of entities from a SAG. void removeSAEs ( in SPFEESubCommonTypes::t_entityIdList entityList, in SPFEESubCommonTypes::t_SagId sagId ) raises (e_unknownSAE, e_unknownSAG, e_applicationError); // This operation returns the list of entities assigned to a SAG. // If a SAG is not specified, it returns all the entities for that subscriber. void listSAEs ( in SPFEESubCommonTypes::t_SagId sagId, out SPFEESubCommonTypes::t_entityIdList entityList ) raises (e_unknownSAG, e_applicationError); // This operation returns the list of SAGs for that subscriber. void listSAGs ( out SPFEESubCommonTypes::t_SagIdList sagIdList ) raises (e_applicationError); // This operation returns the information about a specific subscriber void getSubscriberInfo ( out SPFEESubCommonTypes::t_Subscriber subscriberInfo ) raises (e_applicationError, e_unknownSubscriber); // This operation modifies the information about a specific subscriber // Only name and address fields are modifiable. The rest are updated // only by Sub as a result of other operations -createSAGs,...- void setSubscriberInfo ( in SPFEESubCommonTypes::t_Subscriber subscriberInfo ) raises (e_unknownSubscriber, e_invalidSubscriberInfo, e_applicationError); // This operation returns the list of services subscribed by // a specific subscriber. // void listSubscribedServices ( out SPFEEAccessCommonTypes::t_ServiceList service_list ) raises (e_applicationError, e_unknownSubscriber); // Operations for Service Contract Management. // ---------------------------------------------------- // This operation returns the template for the service. void getServiceTemplate ( in SPFEEAccessCommonTypes::t_ServiceId serviceId, out SPFEESubCommonTypes::t_ServiceTemplate template ) raises (e_applicationError); // This operation creates a service contract. // This contract can include a set of service profiles. void defineServiceContract ( in SPFEESubCommonTypes::t_ServiceContract serviceContract, out SPFEESubCommonTypes::t_ServiceProfileIdList spIdList ) raises (e_applicationError, e_invalidContractInfo, e_invalidSubscriptionProfile, e_invalidSAGServiceProfile); // This operation creates a set of service profiles. void defineServiceProfiles ( in SPFEESubCommonTypes::t_SubscriptionProfile subscriptionProfile, in SPFEESubCommonTypes::t_SagServiceProfileList sagServiceProfiles, out SPFEESubCommonTypes::t_ServiceProfileIdList spIdList ) ras e_invalidSubscriptionProfile, e_invalidSAGServiceProfile); // his operation deletes a set of service profiles and their associated SAGs. void deleteServiceProfiles ( in SPFEESubCommonTypes::t_ServiceProfileIdList spIdList ) raises (e_applicationError, e_unknownServiceProfile); // This operation returns the list of service profiles identifiers void listServiceProfiles ( in SPFEEAccessCommonTypes::t_ServiceId serviceId, out SPFEESubCommonTypes::t_ServiceProfileIdList spIdList ) raises (e_applicationError); // This operation returns the service contract information. // If a (list of) SAG(s) is specified it returns the set of // SAG service profile for that(those) SAG(s). void getServiceContractInfo ( in SPFEEAccessCommonTypes::t_ServiceId serviceId, in SPFEESubCommonTypes::t_ServiceProfileIdList spIdList, out SPFEESubCommonTypes::t_ServiceContract serviceContract ) raises (e_applicationError, e_unknownServiceProfile); // This operation assigns a service profile to a list of SAGs and SAEs. void assignServiceProfile ( in SPFEESubCommonTypes::t_ServiceProfileId spId, in SPFEESubCommonTypes::t_SagIdList sagIdList, in SPFEESubCommonTypes::t_entityIdList saeIdList ) raises (e_applicationError, e_unknownSAG, e_unknownSAE, e_unknownServiceProfile); // This operation removes a service profile assignment to a list of SAGs and SAEs. void removeServiceProfile ( in SPFEESubCommonTypes::t_ServiceProfileId spId, in SPFEESubCommonTypes::t_SagIdList sagIdList, in SPFEESubCommonTypes::t_entityIdList saeIdList ) raises (e_applicationError, e_unknownSAG, e_unknownSAE, e_unknownServiceProfile); // This operation activates a set of service profiles void activateServiceProfiles ( in SPFEESubCommonTypes::t_ServiceProfileIdList spIdList ) raises (e_applicationError, e_unknownServiceProfile); // This operation deactivates a set of service profiles void deactivateServiceProfiles ( in SPFEESubCommonTypes::t_ServiceProfileIdList spIdList ) raises (e_applicationError, e_unknownServiceProfile); }; // i_SubscriberSubscriptionMgmt }; #endif // SPFEERetSubscriberSubscriptionMgmt_IDL