-- 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