// Copyright 2005, 2006 THALES, SELEX Sistemi Integrati (SI), // Themis Computer and Progeny Systems Corporation. #include "AMS_Util.idl" #ifndef _AMS_LightweightLoggingService_IDL_ #define _AMS_LightweightLoggingService_IDL_ #pragma prefix "omg.org" module AMS_LightweightLoggingService { // enum LogFullAction { WRAP, HALT }; typedef sequence LogFullActionList; // enum AdministrativeState { LOCKED, UNLOCKED }; typedef sequence AdministrativeStateList; // const string LogStatus_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/LogStatus:1.0"; interface LogStatus ; typedef sequence LogStatusList; interface LogStatusListIterator : AMS_Util::AMS_Iterator { LogStatus GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // const string LogAdministrator_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/LogAdministrator:1.0"; interface LogAdministrator ; typedef sequence LogAdministratorList; interface LogAdministratorListIterator : AMS_Util::AMS_Iterator { LogAdministrator GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // const string LogConsumer_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/LogConsumer:1.0"; interface LogConsumer ; typedef sequence LogConsumerList; interface LogConsumerListIterator : AMS_Util::AMS_Iterator { LogConsumer GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // const string AvailibilityStatus_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/AvailibilityStatus:1.0"; interface AvailibilityStatus ; typedef sequence AvailibilityStatusList; interface AvailibilityStatusListIterator : AMS_Util::AMS_Iterator { AvailibilityStatus GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // const string OperationalState_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/OperationalState:1.0"; interface OperationalState ; typedef sequence OperationalStateList; interface OperationalStateListIterator : AMS_Util::AMS_Iterator { OperationalState GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // const string LogRecordSequence_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/LogRecordSequence:1.0"; interface LogRecordSequence ; typedef sequence LogRecordSequenceList; interface LogRecordSequenceListIterator : AMS_Util::AMS_Iterator { LogRecordSequence GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // const string LogRecord_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/LogRecord:1.0"; interface LogRecord ; typedef sequence LogRecordList; interface LogRecordListIterator : AMS_Util::AMS_Iterator { LogRecord GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // const string ProducerLogRecord_CLASSID = "IDL:omg.org/AMS_LightweightLoggingService/ProducerLogRecord:1.0"; interface ProducerLogRecord ; typedef sequence ProducerLogRecordList; interface ProducerLogRecordListIterator : AMS_Util::AMS_Iterator { ProducerLogRecord GetCurrentItem () raises (AMS_Util::AMS_NoSuchElementException); }; // interface LogStatus { AMS_Util::AMS_uint32 getMaxSize ( ) raises (AMS_Util::AMS_Error); AMS_Util::AMS_uint32 getCurrentSize ( ) raises (AMS_Util::AMS_Error); AMS_Util::AMS_uint32 getNumRecords ( ) raises (AMS_Util::AMS_Error); LogFullAction getLogFullAction ( ) raises (AMS_Util::AMS_Error); AvailibilityStatus getAvailibilityStatus ( ) raises (AMS_Util::AMS_Error); AdministrativeState getAdministrativeState ( ) raises (AMS_Util::AMS_Error); OperationalState getOperationalState ( ) raises (AMS_Util::AMS_Error); }; // interface LogAdministrator : LogStatus { void setMaxSize ( in AMS_Util::AMS_uint32 size ) raises (AMS_Util::AMS_Error); void setLogFullAction ( in LogFullAction action ) raises (AMS_Util::AMS_Error); void setAdministrativeState ( in AdministrativeState state ) raises (AMS_Util::AMS_Error); void clearLog ( ) raises (AMS_Util::AMS_Error); void Destroy ( ) raises (AMS_Util::AMS_Error); }; // interface LogConsumer : LogStatus { AMS_Util::AMS_uint64 getRecordIdFromTime ( in AMS_Util::AMS_datetime fromTime ) raises (AMS_Util::AMS_Error); LogRecordSequence retrieveById ( inout AMS_Util::AMS_uint64 currentId, inout AMS_Util::AMS_uint16 howMany ) raises (AMS_Util::AMS_Error); }; // interface AvailibilityStatus { attribute boolean offDuty; attribute boolean logFull; }; // interface OperationalState { }; // interface LogRecordSequence { }; // interface LogRecord { attribute AMS_Util::AMS_uint64 id; attribute AMS_Util::AMS_datetime time; }; // interface ProducerLogRecord { attribute string producerId; attribute string producerName; attribute AMS_Util::AMS_uint16 level; attribute string logData; }; }; #endif /* _AMS_LightweightLoggingService_IDL_ */