6 NotificationLogIRPNotifications Interface

32.3333GPPCommon Object Request Broker Architecture (CORBA) Solution Set (SS)Notification Log (NL) Integration Reference Point (IRP)Release 9Telecommunication managementTS

OMG CORBA Notification push operation is used to realise the notification of NotificationLogIRPNotifications. All the notifications in this interface are implemented using this push_structured_event method.

6.1 Method push (M)

module CosNotifyComm {

Interface SequencePushConsumer : NotifyPublish {

void push_structured_events(

in CosNotification::EventBatch notifications)

raises( CosEventComm::Disconnected);

}; // SequencePushConsumer

}; // CosNotifyComm

NOTE 1: The push_structured_events method takes an input parameter of type EventBatch as defined in the OMG CosNotification module (OMG Notification Service [1]). This data type is the same as a sequence of Structured Events. Upon invocation, this parameter will contain a sequence of Structured Events being delivered to IRPManager by IRPAgent to which it is connected.

NOTE 2: The maximum number of events that will be transmitted within a single invocation of this operation is controlled by IRPAgent wide configuration parameter.

NOTE 3: The amount of time the supplier (IRPAgent) of a sequence of Structured Events will accumulate individual events into the sequence before invoking this operation is controlled by IRPAgent wide configuration parameter as well.

NOTE 4: IRPAgent may push EventBatch with only one Structured Event.

Annex A (normative):
IDL specifications

A.1 IDL specification (file name "NotificationLogIRPConstDefs.idl")

// File: NotificationLogIRPConstDefs.idl

#ifndef _NOTIFICATIONLOGIRPCONSTDEFS_IDL_

#define _NOTIFICATIONLOGIRPCONSTDEFS_IDL_

#ifndef _DSLOGADMIN_IDL_

#define _DSLOGADMIN_IDL_

#include <DsLogAdmin.idl>

#endif // _DSLOGADMIN_IDL_

#include "NotificationIRPConstDefs.idl"

#include "GenericIRPManagementConstDefs.idl"

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

module NotificationLogIRPConstDefs

{

typedef DsLogAdmin::LogId LogSubscriptionId;

typedef DsLogAdmin::RecordId RecordId;

typedef DsLogAdmin::RecordIdList RecordIdList;

typedef string LogManagerToken;

/*

LogManagerTokenOpt is a type carrying an optional parameter.

If the boolean is TRUE, then the value is present; else absent.

*/

union LogManagerTokenOpt switch (boolean)

{

case TRUE: LogManagerToken value;

};

/*

IRPTimeOpt is a type carrying an optional parameter.

If the boolean is TRUE, then the value is present; else absent.

*/

union IRPTimeOpt switch (boolean)

{

case TRUE: GenericIRPManagementConstDefs::IRPTime value;

};

typedef GenericIRPManagementConstDefs::VersionNumberSet

NotificationCategorySet;

/*

NotificationCategorySetOpt is a type carrying an optional parameter.

If the boolean is TRUE, then the value is present; else absent.

*/

union NotificationCategorySetOpt switch (boolean)

{

case TRUE: NotificationCategorySet value;

};

enum LogState { LOGGING, LOGFULL, STOPPED};

typedef DsLogAdmin::CapacityAlarmThresholdList

CapacityAlarmThresholdList;

typedef unsigned short LogFullActionType;

const LogFullActionType wrap = 0;

const LogFullActionType halt = 1;

/*

IteratorOpt is a type carrying an optional parameter.

If the boolean is TRUE, then the value is present; else absent.

*/

union IteratorOpt switch (boolean)

{

case TRUE: DsLogAdmin::Iterator value;

};

struct LogAttributes {

LogSubscriptionId logSubscriptionId;

GenericIRPManagementConstDefs::IRPTime loggingEndTime;

unsigned long long maxSize;

unsigned long long currentSize;

LogState logState;

unsigned long long logRecordCount;

NotificationIRPConstDefs::NotificationCategorySet notificationCategories;

string filter;

LogFullActionType logFullAction;

CapacityAlarmThresholdList occupancyLevels;

};

typedef sequence <LogAttributes> LogAttributeList;

};

#endif // _NOTIFICATIONLOGIRPCONSTDEFS_IDL_

A.2 IDL specification (file name “NotificationLogIRPSystem.idl”)

// File: NotificationLogIRPSystem.idl

#ifndef _NOTIFICATIONLOGIPRSYSTEM_IDL_

#define _NOTIFICATIONLOGIRPSYSTEM_IDL_

#include "NotificationLogIRPConstDefs.idl"

#include "GenericIRPManagementSystem.idl"

#include <TimeBase.idl>

#ifndef _DSLOGADMIN_IDL_

#define _DSLOGADMIN_IDL_

#include <DsLogAdmin.idl>

#endif // _DSLOGADMIN_IDL_

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

module NotificationLogIRPSystem

{

/*

System fails to complete the method. System can provide reason

to qualify the exception. The semantics carried in reason

is outside the scope of this IRP.

*/

exception SubscribeLog { string reason; };

exception UnsubscribeLog { string reason; };

exception ExportLogRecords { string reason; };

exception GetLogSubscriptionIds { string reason; };

exception GetLogRecords { string reason; };

exception GetLogSubscriptionStatus { string reason; };

exception InvalidLogSubscriptionId { string reason; };

exception UnknownLogSubscriptionId {};

exception UnknownLogManagerToken {};

exception InvalidConstraint { string reason; };

interface NotificationLogIRP : GenericIRPManagementSystem::

GenericIRPManagement

{

GenericIRPManagementConstDefs::Signal subscribe_log (

in NotificationLogIRPConstDefs::LogSubscriptionId logSubscriptionId,

in NotificationLogIRPConstDefs::IRPTimeOpt loggingEndTimeAsked,

in NotificationLogIRPConstDefs::NotificationCategorySetOpt

notificationCategorySet,

in GenericIRPManagementConstDefs::StringOpt filter,

out NotificationLogIRPConstDefs::LogSubscriptionId

logSubscriptionIdOut,

out NotificationLogIRPConstDefs::LogManagerTokenOpt logManagerToken,

out NotificationLogIRPConstDefs::IRPTimeOpt loggingEndTimeGiven

)

raises ( SubscribeLog,

GenericIRPManagementSystem::InvalidParameter,

GenericIRPManagementSystem::ParameterNotSupported,

GenericIRPManagementSystem::ValueNotSupported,

InvalidLogSubscriptionId, UnknownLogManagerToken

);

GenericIRPManagementConstDefs::Signal unsubscribe_log (

in NotificationLogIRPConstDefs::LogSubscriptionId logSubscriptionId,

in NotificationLogIRPConstDefs::LogManagerTokenOpt logManagerToken

)

raises ( UnsubscribeLog,

GenericIRPManagementSystem::InvalidParameter,

GenericIRPManagementSystem::ParameterNotSupported,

UnknownLogSubscriptionId, UnknownLogManagerToken);

GenericIRPManagementConstDefs::Signal export_log_records (

in NotificationLogIRPConstDefs::LogSubscriptionId logSubscriptionId,

in NotificationLogIRPConstDefs::NotificationCategorySetOpt

notificationCategorySet,

in GenericIRPManagementConstDefs::StringOpt filter,

out string invocationId

)

raises ( ExportLogRecords,

GenericIRPManagementSystem::InvalidParameter,

GenericIRPManagementSystem::ParameterNotSupported,

GenericIRPManagementSystem::OperationNotSupported,

UnknownLogSubscriptionId);

// If some but not all of the information is returned via the return value

// RecordList, then the rest of the information is returned via the

// iterator. Otherwise, the iterator is absent.

//

DsLogAdmin::RecordList get_log_records(

in NotificationLogIRPConstDefs::LogSubscriptionId logSubscriptionId,

in NotificationLogIRPConstDefs::NotificationCategorySetOpt

notificationCategories,

in GenericIRPManagementConstDefs::StringOpt filter,

out NotificationLogIRPConstDefs::IteratorOpt iterator

)

raises ( GetLogRecords,

GenericIRPManagementSystem::InvalidParameter,

GenericIRPManagementSystem::ParameterNotSupported,

GenericIRPManagementSystem::ValueNotSupported,

GenericIRPManagementSystem::OperationNotSupported,

UnknownLogSubscriptionId);

DsLogAdmin::LogIdList get_log_subscription_ids()

raises ( GetLogSubscriptionIds,

GenericIRPManagementSystem::OperationNotSupported

);

GenericIRPManagementConstDefs::Signal get_log_subscription_status (

in NotificationLogIRPConstDefs::LogSubscriptionId logSubscriptionId,

out NotificationLogIRPConstDefs::LogAttributeList logAttributeList

)

raises ( GetLogSubscriptionStatus,

GenericIRPManagementSystem::InvalidParameter,

GenericIRPManagementSystem::OperationNotSupported

);

};

};

#endif // _NOTIFICATIONLOGIPRSYSTEM_IDL_

A.3 IDL specification (file name “NotificationLogIRPNotifications.idl”)

// File: NotificationLogIRPNotifications.idl

#ifndef _NOTIFICATIONLOGIRPNOTIFICATIONS_IDL_

#define _NOTIFICATIONLOGIRPNOTIFICATIONS_IDL_

#include "NotificationIRPNotifications.idl"

// This statement must appear after all include statements

#pragma prefix "3gppsa5.org"

module NotificationLogIRPNotifications

{

interface NotifyLogSubscribed: NotificationIRPNotifications::Notify

{

const string NOTIFY_LOG_SUBSRIBED = "x1";

const string LOG_SUBSCRIPTION_ID = "id";

const string LOGGING_END_TIME = "loggingEndTime";

const string NOTIFICATION_CATEGORIES = "categories";

const string FILTER = "filter";

};

interface NotifyLogUnubscribed: NotificationIRPNotifications::Notify

{

const string NOTIFY_LOG_UNSUBSCRIBED = "x2";

const string LOG_SUBSCRIPTION_ID = "id";

};

interface NotifyLogOccupancyLevelCrossed:

NotificationIRPNotifications::Notify

{

const string NOTIFY_LOG_OCCUPANCY_LEVEL_CROSSED = "x3";

const string LOG_SUBSCRIPTION_ID = "id";

const string CURRENT_OCCUPANCY_LEVEL = "level";

const string LOG_FULL_ACTION = "fullAction";

};

interface NotifyLoggingResumed: NotificationIRPNotifications::Notify

{

const string NOTIFY_LOGGING_RESUMED = "x4";

const string LOG_SUBSCRIPTION_ID = "id";

};

};

#endif // _NOTIFICATIONLOGIRPNOTIFICATIONS_IDL_

Annex B (informative):
Change history

Change history

Date

TSG #

TSG Doc.

CR

Rev

Subject/Comment

Cat

Old

New

Mar 2005

SA_27

SP-050036

Submitted to TSG SA#27 for Approval

1.0.0

6.0.0

Jun 2005

Introduction update : added 32.335 new TS-family member

6.0.0

6.0.1

Mar 2006

SA_31

SP-060091

0001

Correction of CORBA IDL compile errors

F

6.0.1

6.1.0

Mar 2006

SA_31

SP-060091

0002

Change output parameter fileLocation of exportLogRecord operation to be invocationId – Align with 32.332 (IS)

F

6.0.1

6.1.0

Mar 2006

SA_31

SP-060089

0003

Use correct case for case sensitive parameter name

F

6.0.1

6.1.0

Jun 2007

SA_36

Automatic upgrade to Rel-7 (no CR) at freeze of Rel-7. Deleted reference to CMIP SS, discontinued from R7 onwards.

6.1.0

7.0.0

Dec 2008

SA_42

Upgrade to Release 8

7.0.0

8.0.0

Dec 2009

Update to Rel-9 version (MCC)

8.0.0

9.0.0