A.1 IDL specification (file name BulkCmIRPConstDefs.idl)

32.6133GPPBulk CM Integration Reference Point (IRP): Common Object Request Broker Architecture (CORBA) Solution Set (SS)Configuration Management (CM)Release 9Telecommunication managementTS

//File: BulkCmIRPConstDefs.idl

#ifndef _BULK_CM_IRP_CONST_DEFS_IDL_

#define _BULK_CM_IRP_CONST_DEFS_IDL_

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

/* ## Module: BulkCmIRPConstDefs

This module contains type definitions for the Bulk CM IRP

================================================================

*/

module BulkCmIRPConstDefs

{

/*

This block identifies the notification types defined by

this Bulk CM IRP version.

This string is used in the second field of the Structured

Event.

*/

interface NotificationType

{

const string NOTIFY_SESSION_STATE_CHANGED = "x1";

const string NOTIFY_GET_SESSION_LOG_ENDED = "x2";

};

/*

This block assigns value for the name of the NV of the Structured Event.

*/

interface AttributeNameValue

{

const string SESSION_ID = "k";

const string SOURCE_INDICATOR = "m";

const string ERROR_INFORMATION = "n";

};

/*

This block defines all possible values for sessionState.

One of these strings appear in the event_name of the

Structured Event of notifySessionStateChanged notification.

*/

interface SessionStateChangeNotification

{

const string UPLOAD_FAILED = "x1";

const string UPLOAD_COMPLETED = "x2";

const string DOWNLOAD_FAILED = "x3";

const string DOWNLOAD_COMPLETED = "x4";

const string ACTIVATION_FAILED = "x5";

const string ACTIVATION_PARTLY_REALISED = "x6";

const string ACTIVATION_COMPLETED = "x7";

const string FALLBACK_FAILED = "x8";

const string FALLBACK_PARTLY_REALISED = "x9";

const string FALLBACK_COMPLETED = "x10";

const string VALIDATION_FAILED = "x11";

const string VALIDATION_COMPLETED = "x12";

const string PREACTIVATION_FAILED = "x13";

const string PREACTIVATION_PARTLY_REALISED = "x14";

const string PREACTIVATION_COMPLETED = "x15";

};

/*

This block defines all possible values for sessionLogStatus

One of these strings appear in the event_name of the Structured

Event of notifyGetSessionLogEnded notification.

*/

interface LogStateNotification

{

const string GET_SESSION_LOG_COMPLETED_SUCCESSFULLY = "x1";

const string GET_SESSION_LOG_COMPLETED_UNSUCESSFULLY = "x2";

};

/*

For each started configuration session a unique identifier is generated

by the IRPManager. An sessionId can not be used for an upload if it is

already in use of a download configuration and vice versa.

*/

typedef string SessionId;

/*

This string field is used in order to provide additional error information

if an operation has failed.

*/

typedef string ErrorInformation;

/*

Defines the different subphases of a configuration session

e.g. thus it is easy to implement a detection of an upload

or a download/activate session.

*/

enum SubPhase {IDLE_PHASE, DOWNLOAD_PHASE, UPLOAD_PHASE, ACTIVATION_PHASE,

FALLBACK_PHASE, PREACTIVATION_PHASE, VALIDATION_PHASE};

/*

Defines the different substates of a configuration session. This includes

the transition state as well.

*/

enum SubState {COMPLETED, FAILED, PARTLY_REALISED, IN_PROGRESS};

/*

Defines state of a configuration session with the phase and the substate

of the configuration.

*/

struct SessionState

{

SubPhase sub_phase;

SubState sub_state;

};

/*

Contains the list of all current sessionIds

*/

typedef sequence <SessionId> SessionIdList;

/*

Specifies a complete destination path (including filename).

*/

typedef string FileDestination;

/*

The format of Distinguished Name is specified in

the Naming Conventions for Managed Objects; TS 32.300.

e.g. "SubNetwork=10001,ManagedElement=400001" identifies a

ManagedElement instance of the object model.

*/

typedef string DistinguishedName;

/*

Used within the upload method to give filter critera

*/

typedef string Filter;

/*

Defines the kind of scope to use in a search together with

SearchControl.level, in a SearchControl value.

SearchControl.level is always >= 0. If a level is bigger than the

depth of the tree there will be no exceptions thrown.

*/

enum ScopeType {BASE_ONLY, BASE_NTH_LEVEL, BASE_SUBTREE, BASE_ALL};

/*

Controls the searching for MOs during upload, and contains:

the type of scope ("type" field),

the level of scope ("level" field),

the filter ("filter_" field),

The type and level fields are mandatory.

The filter field is mandatory (The filter will have to be

set to an empty string if it has no other value).

*/

struct SearchControl

{

ScopeType type;

unsigned long level;

Filter filter_;

};

/*

This indicates how the activation is executed, either with least service

impact or least elapsed time.

*/

enum ActivationMode {LEAST_SERVICE_IMPACT, LEAST_ELAPSED_TIME};

/*

This indicates the level of verification of bulk configuration data done,

either full or limited checking.

*/

enum VerificationMode {FULL_CHECKING, LIMITED_CHECKING};

/* ActivationModeTypeOpt is a type carrying an optional parameter.

If the boolean is TRUE, the value is present.

Otherwise, the value is absent.

*/

union ActivationModeTypeOpt switch(boolean)

{

case TRUE: ActivationMode activation_mode;

};

/* VerificationModeTypeOpt is a type carrying an optional parameter.

If the boolean is TRUE, the value is present.

Otherwise, the value is absent.

*/

union VerificationModeTypeOpt switch(boolean)

{

case TRUE: VerificationMode verification_mode;

};

};

#endif // _BULK_CM_IRP_CONST_DEFS_IDL_