// copyright 2005-8 THALES, BAE Systems, Raytheon #include "timebase.idl" // #include "dds_dcps.idl" use for DDS standard compatible time types #ifndef __ALMAS_DataModel_DEF #define __ALMAS_DataModel_DEF 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 DDS::Time_t ALMAS_DateTimeType; // DDS compatible typedef sequence ALMAS_ByteSequence; typedef sequence ALMAS_StringSet; enum ALMAS_CategoryType { Action, Warning, Information, Situation}; enum ALMAS_StateType { Raised, Routed, Received, Acknowledged, Handled, Cancelled}; 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; 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; }; #pragma keylist ALMAS_AlertTemplateType AlertData.TemplateID struct ALMAS_AlertReportType { boolean Acknowledged; boolean Routed; boolean Actioned; boolean ReceiverIsActionee; string AlternativeAction; string ReceiverID; ALMAS_AlertIDType AlertID; }; #pragma keylist ALMAS_AlertReportType ReceiverID, 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; }; #pragma keylist ALMAS_Alert AlertID }; #endif // copyright 2005-8 THALES, BAE Systems, Raytheon #ifndef __ALMAS_DataModel_DEF #define __ALMAS_DataModel_DEF #include "ALMAS_DataModel.idl" module ALMAS_Management { typedef sequence ALMAS_AlertSet; struct ALMAS_Response { long request_id; ALMAS_DataModel::ALMAS_CallStatus error_code; }; #pragma keylist ALMAS_Response // Need a singleton topic for ALMAS_Manager since it has attributes struct ALMAS_Manager { string SystemID;}; #pragma keylist ALMAS_Manager struct ALMAS_CreateAndRaiseAlertFromTemplate { long request_id; string ProducerID; ALMAS_DataModel::ALMAS_TemplateIDType TemplateID; }; #pragma keylist ALMAS_CreateAndRaiseAlertFromTemplate struct ALMAS_AcknowledgeAlert { long request_id; ALMAS_DataModel::ALMAS_AlertIDType AlertID; string ReceiverID;}; #pragma keylist ALMAS_AcknowledgeAlert struct ALMAS_HandleAlert { long request_id; ALMAS_DataModel::ALMAS_AlertIDType AlertID; string ReceiverID;}; #pragma keylist ALMAS_HandleAlert struct ALMAS_ConfirmReceipt { long request_id; ALMAS_DataModel::ALMAS_AlertIDType AlertID; string ReceiverID;}; #pragma keylist ALMAS_ConfirmReceipt struct ALMAS_SetLanguage { long request_id; string ReceiverID; string Language;}; #pragma keylist ALMAS_SetLanguage struct ALMAS_GetFilledMessageText { long request_id; ALMAS_DataModel::ALMAS_AlertIDType AlertID;}; #pragma keylist ALMAS_GetFilledMessageText struct ALMAS_LoadReceiverHierarchy { long request_id; string Filename ;}; #pragma keylist ALMAS_LoadReceiverHierarchy struct ALMAS_LoadTemplateSet { long request_id; string Filename; }; #pragma keylist ALMAS_LoadTemplateSet struct ALMAS_LoadConfiguration { long request_id; string Filename; }; #pragma keylist ALMAS_LoadConfiguration struct ALMAS_AttachCategorisationRule { long request_id; long RuleID; ALMAS_DataModel::ALMAS_AlertIDType AlertID; }; #pragma keylist ALMAS_AttachCategorisationRule struct ALMAS_DetachCategorisationRule { long request_id; long RuleID; ALMAS_DataModel::ALMAS_AlertIDType AlertID; }; #pragma keylist ALMAS_DetachCategorisationRule }; #endif