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