-- IDL module extracted from ITU-T Q.834.4 (07/2003)
#ifndef __Q834_4_SOFTWAREDOWNLOAD_DEFINED
#define __Q834_4_SOFTWAREDOWNLOAD_DEFINED
#include "Q834Common.idl"
#pragma prefix "itu.Int"
module q834_4 {
module SoftwareDownload {
// begin definitions from other idl files
// From Q834Common
typedef Q834Common::DCNAddressType DCNAddressType;
typedef Q834Common::UserLabelType UserLabelType;
typedef Q834Common::VersionType VersionType;
typedef Q834Common::PlugInUnitType PlugInUnitType;
typedef Q834Common::FilenameType FilenameType;
typedef Q834Common::ProceduralStatusSetType ProceduralStatusSetType;
typedef Q834Common::StatusAttributeSeqType StatusAttributeSeqType;
typedef Q834Common::ManagedEntityIdType ManagedEntityIdType;
typedef Q834Common::UserIdType UserIdType;
typedef Q834Common::PasswordType PasswordType;
typedef Q834Common::StatusValueType StatusValueType;
typedef Q834Common::GeneralizedTimeType GeneralizedTimeType;
typedef Q834Common::TrackingObjectIdType TrackingObjectIdType;
typedef Q834Common::ManagedEntityIdSeqType ManagedEntityIdSeqType;
#define AccessDenied Q834Common::AccessDenied
#define CommFailure Q834Common::CommFailure
#define UnknownScheduler Q834Common::UnknownScheduler
#define UnknownNE Q834Common::UnknownNE
#define DeniedAccess Q834Common::DeniedAccess
#define UnknownManagedEntity Q834Common::UnknownManagedEntity
#define Timeout Q834Common::Timeout
#define InvalidScheduler Q834Common::InvalidScheduler
#define InvalidStartTime Q834Common::InvalidStartTime
// End definitions from other idl files
// Local data types
typedef TrackingObjectIdType SoftwareDownloadTrackingObjectIdType;
typedef sequence<SoftwareDownloadTrackingObjectIdType> SoftwareDownloadTrackingObjectIdSeqType;
typedef sequence<FilenameType> FilenameSeqType;
struct VersionsType {
ManagedEntityIdType resourceId;
VersionType softwarePrimary;
VersionType softwareStandBy;
VersionType hardware;
};
typedef sequence<VersionsType> VersionsSeqType;
struct TargetType {
ManagedEntityIdType containingSystem;
ManagedEntityIdType containingNE; // empty sequence means everything
string plugInUnitType; // empty string here implies to any suitable plugInUnitType
ManagedEntityIdType slot; // empty sequence here means any slot.
}; //string is supplied by the supplier with Release Notes.
struct DownloadStatusType
{
ManagedEntityIdType targetId;
StatusValueType deliveryStatus;
StatusValueType commitStatus;
StatusValueType activationStatus;
StatusValueType revertStatus;
};
typedef sequence<DownloadStatusType> DownloadStatusSeqType;
// Local exceptions
exception InvalidExternalTime {};
exception UnrecognisedTarget {};
exception InsufficientMemory {};
exception SoftwareLoadHWMismatch {};
exception SourceUnreachable {};
exception UnknownSoftwareLoad {};
exception InstallationFailure {};
exception UnknownSoftwareDownloadTrackingObject {};
exception SoftwareNotYetInstalled {};
exception ActivationFailure {};
exception ActivationCompleted {};
exception ActivityCompleted {};
exception ActivityInProgress {};
exception InvalidSoftwareTrackingObject {};
exception SoftwareTrackingObjectInUse {};
// End local definitions
valuetype DownloadMgrValueType: itut_x780::ManagedObjectValueType {
public SoftwareDownloadTrackingObjectIdSeqType ScheduledSoftwareDownloadTrackingObjectList; // GET
public SoftwareDownloadTrackingObjectIdSeqType OnDemandSoftwareDownloadTrackingObjectList; // GET
};
interface DownloadMgr : itut_x780::ManagedObject {
// See 9.5.1.1 for the description of the behaviour of this operation
SoftwareDownloadTrackingObjectIdType deliverDistSWGlobal (
in FilenameSeqType softwareSet,
in DCNAddressType softwareSourceAddr,
in UserIdType userId,
in PasswordType password,
in ManagedEntityIdSeqType deliverDistTargets)
raises (CommFailure,
UnrecognisedTarget,
InsufficientMemory,
SoftwareLoadHWMismatch,
SourceUnreachable,
UnknownSoftwareLoad,
Timeout,
AccessDenied,
DeniedAccess);
// See 9.5.1.2 for the description of the behaviour of this operation
SoftwareDownloadTrackingObjectIdType deliverDistSWSpecific (
in FilenameSeqType softwareSet,
in DCNAddressType softwareSourceAddr,
in UserIdType userId,
in PasswordType password,
in TargetType deliverDistTarget)
raises (CommFailure,
UnrecognisedTarget,
InsufficientMemory,
SoftwareLoadHWMismatch,
SourceUnreachable,
UnknownSoftwareLoad,
Timeout,
AccessDenied,
DeniedAccess);
// See 9.5.1.3 for the description of the behaviour of this operation
void deleteSoftwareDownloadTrackingObject (
in SoftwareDownloadTrackingObjectIdType id)
raises (UnknownSoftwareDownloadTrackingObject, AccessDenied);
// See 9.5.1.4 for the description of the behaviour of this operation
void commit (
in SoftwareDownloadTrackingObjectIdType id,
in TargetType commitTarget)
raises (InstallationFailure,
UnknownSoftwareDownloadTrackingObject,
AccessDenied,
UnrecognisedTarget);
// See 9.5.1.5 for the description of the behaviour of this operation
void activate (
in SoftwareDownloadTrackingObjectIdType id,
in TargetType activateTarget)
raises (UnknownSoftwareDownloadTrackingObject,
SoftwareNotYetInstalled,
ActivationFailure,
AccessDenied,
UnrecognisedTarget);
// See 9.5.1.6 for the description of the behaviour of this operation
void revert (
in SoftwareDownloadTrackingObjectIdType id,
in TargetType revertTarget)
raises (UnknownSoftwareDownloadTrackingObject,
SoftwareNotYetInstalled,
ActivationFailure,
AccessDenied,
UnrecognisedTarget,
InvalidSoftwareTrackingObject);
// See 9.5.1.7 for the description of the behaviour of this operation
DownloadStatusSeqType getStatus (
in SoftwareDownloadTrackingObjectIdType id)
raises (UnknownSoftwareDownloadTrackingObject,
AccessDenied);
// See 9.5.1.8 for the description of the behaviour of this operation
SoftwareDownloadTrackingObjectIdType scheduleDeliverDist (
in FilenameSeqType softwareSet,
in DCNAddressType softwareSourceAddr,
in UserIdType userId,
in PasswordType password,
in ManagedEntityIdSeqType deliverDistTargets,
in GeneralizedTimeType deliverDistStartTime)
raises (SoftwareLoadHWMismatch,
UnknownScheduler,
AccessDenied,
InvalidStartTime);
// See 9.5.1.9 for the description of the behaviour of this operation
void scheduleCommit (
in SoftwareDownloadTrackingObjectIdType
deliverDistSoftwareDownloadTrackingObjectId,
in GeneralizedTimeType commitStartTime)
raises (UnknownSoftwareDownloadTrackingObject,
UnknownScheduler,
SoftwareNotYetInstalled,
AccessDenied,
InvalidStartTime);
// See 9.5.1.10 for the description of the behaviour of this operation
void scheduleActivate (
in SoftwareDownloadTrackingObjectIdType id,
in UserLabelType activateSchedulerName,
in GeneralizedTimeType activateStartTime)
raises (UnknownSoftwareDownloadTrackingObject,
InvalidStartTime,
SoftwareNotYetInstalled,
AccessDenied,
InvalidScheduler );
// See 9.5.1.11 for the description of the behaviour of this operation
void cancelScheduledSoftwareActivity (
in SoftwareDownloadTrackingObjectIdType id)
raises (UnknownSoftwareDownloadTrackingObject,
ActivityCompleted,
ActivityInProgress,
AccessDenied);
// See 9.5.1.12 for the description of the behaviour of this operation
SoftwareDownloadTrackingObjectIdSeqType scheduledSoftwareDownloadTrackingObjectList ()
raises (AccessDenied);
// See 9.5.1.13 for the description of the behaviour of this operation
SoftwareDownloadTrackingObjectIdSeqType onDemandSoftwareDownloadTrackingObjectList ()
raises (AccessDenied);
}; // interface DownloadMgr
interface VersionRepository : itut_x780::ManagedObject {
// See 9.5.2.1 for the description of the behaviour of this operation
VersionsSeqType retrieveVersions (
in ManagedEntityIdType containingManagedEntityId)
raises (CommFailure,
UnknownManagedEntity,
AccessDenied);
// See 9.5.2.2 for the description of the behaviour of this operation
boolean validateNEVersion (
in ManagedEntityIdType managedEntityId,
in VersionType proposedSoftware)
raises (UnknownNE, AccessDenied);
// See 9.5.2.3 for the description of the behaviour of this operation
boolean validatePlugInVersion (
in ManagedEntityIdType plugInUnitId,
in VersionType proposedSoftware)
raises (UnknownManagedEntity, AccessDenied);
}; // interface VersionRepository
}; // module SoftwareDownload
}; // module q834_4
#endif