// Copyright 2005-2008 THALES, BAE Systems, Raytheon #include "timebase.idl" #ifndef __ALMAS_DataModel_DEF #define __ALMAS_DataModel_DEF #pragma prefix "omg.org" module ALMAS_DataModel { typedef long ALMAS_AlertIDType; typedef long ALMAS_TemplateIDType; typedef long ALMAS_TimeoutType; typedef TimeBase::TimeT ALMAS_DateTimeType; // EVoT compatible long long typedef sequence ALMAS_ByteSequence; typedef sequence ALMAS_StringSet; enum ALMAS_CategoryType { Action, Warning, Information, Situation}; enum ALMAS_StateType { Raised, Routed, Received, Acknowledged, Handled, Cancelled, TimedOut}; enum ALMAS_StatusType { Actual, Exercise, System, Test}; enum ALMAS_ScopeType { PublicScope, RestrictedScope, PrivateScope}; enum ALMAS_TimeoutActionType { CancelOnly, NotifyOnly, CancelWithNotify}; enum ALMAS_AckModelType { AckByNone, AckByAnyone, AckByAll}; struct ALMAS_CallStatus { boolean Success; short Reason; string Description; }; struct ALMAS_ValidAlertResponseType { ALMAS_StringSet AlternativeAction; short ActioneePriority; }; struct ALMAS_ReceiverKindType { string RKType; string RKParentType; ALMAS_ValidAlertResponseType ValidResponse; }; typedef sequence ALMAS_ReceiverKindTypeSet; struct ALMAS_DynamicMessageDataType { string DataType; string DataTag; string DataValue; }; typedef sequence ALMAS_DynamicMessageDataTypeSet; struct ALMAS_StaticMessageType { string MessageText; string MessageLanguage; }; typedef sequence ALMAS_StaticMessageTypeSet; struct ALMAS_AlertDataExtraAttributesType { string Name; short TypeOfByteData; string Description; ALMAS_ByteSequence Value; }; typedef sequence ALMAS_AlertDataExtraAttributesTypeSet; struct ALMAS_AlertDataType { ALMAS_TemplateIDType TemplateID; ALMAS_CategoryType Category; short Priority; ALMAS_StatusType Status; ALMAS_ScopeType Scope; ALMAS_TimeoutType Timeout; boolean ConfirmationRequired; string SecondaryGrouping; boolean Persistent; boolean ReliablyDistributed; ALMAS_TimeoutActionType TimeoutAction; ALMAS_AckModelType AcknowledgementModel; ALMAS_StaticMessageTypeSet StaticMessages; ALMAS_DynamicMessageDataTypeSet DynamicMessages; ALMAS_AlertDataExtraAttributesTypeSet ExtraAttributes; }; struct ALMAS_AlertTemplateType { boolean Inhibited; boolean RaiseToAll; ALMAS_AlertDataType AlertData; ALMAS_ReceiverKindTypeSet ReceiverKinds; }; struct ALMAS_AlertReportType { boolean Acknowledged; boolean Routed; boolean Actioned; boolean ReceiverIsActionee; ALMAS_StringSet AlternativeAction; string ReceiverID; ALMAS_AlertIDType AlertID; }; struct ALMAS_AvailableAlertReceiverType { string ReceiverID; ALMAS_ReceiverKindType ReceiverKind; }; typedef sequence ALMAS_AvailableAlertReceiverTypeSet; struct ALMAS_Alert { ALMAS_AlertIDType AlertID; ALMAS_DateTimeType RaisingTime; ALMAS_StateType CurrentState; string ProducerID; ALMAS_AlertDataType AlertData; ALMAS_AvailableAlertReceiverTypeSet Receivers; }; }; #endif