// Copyright 2005-2007 THALES, BAE Systems, Raytheon import "oaidl.idl"; import "ocidl.idl"; #ifndef __ALMAS_DataModel_DEF #define __ALMAS_DataModel_DEF typedef long ALMAS_AlertIDType; typedef long ALMAS_TemplateIDType; typedef long ALMAS_TimeoutType; #ifdef NOLONGLONG typedef struct { unsigned long low; unsigned long high; } ALMAS_DateTimeType; #else typedef unsigned long long ALMAS_DateTimeType; // long long to be EVoT compatible #endif typedef enum { ALMAS_Action = 1, ALMAS_Warning, ALMAS_Information, ALMAS_Situation} ALMAS_CategoryType; typedef enum { ALMAS_Raised = 1, ALMAS_Routed, ALMAS_Received, ALMAS_Acknowledged, ALMAS_Handled, ALMAS_Cancelled, ALMAS_TimedOut} ALMAS_StateType; typedef enum { ALMAS_Actual = 1, ALMAS_Exercise, ALMAS_System, ALMAS_Test} ALMAS_StatusType; typedef enum { ALMAS_PublicScope = 1, ALMAS_RestrictedScope, ALMAS_PrivateScope} ALMAS_ScopeType; typedef enum { ALMAS_CancelOnly = 1, ALMAS_NotifyOnly, ALMAS_CancelWithNotify} ALMAS_TimeoutActionType; typedef enum { ALMAS_AckByNone = 1, ALMAS_AckByAnyone, ALMAS_AckByAll} ALMAS_AckModelType; typedef struct { boolean Success; short Reason; BSTR Description;} ALMAS_CallStatus; typedef struct { SAFEARRAY(BSTR) AlternativeAction; short ActioneePriority; } ALMAS_ValidAlertResponseType; typedef [uuid(0B7DF643-8DFF-4cfe-BC48-3C2E07BD6A79)]struct ALMAS_ReceiverKindType { BSTR RKType; BSTR RKParentType; ALMAS_ValidAlertResponseType ValidResponse; } ALMAS_ReceiverKindType; typedef [uuid(62FD9C37-ED08-46b2-8122-8B783D83DC5E)] struct ALMAS_DynamicMessageDataType{ BSTR DataType; BSTR DataTag; BSTR DataValue; } ALMAS_DynamicMessageDataType; typedef [uuid(06A4B73D-52AD-4009-BC0A-4FC940D3A799)]struct ALMAS_StaticMessageType{ BSTR MessageText; BSTR MessageLanguage; } ALMAS_StaticMessageType; typedef [uuid(F42A96DE-F513-4880-8E5A-5C2B308A2898)]struct ALMAS_AlertDataExtraAttributesType{ BSTR Name; short TypeOfByteData; BSTR Description; SAFEARRAY(byte) Value; } ALMAS_AlertDataExtraAttributesType; typedef struct { ALMAS_TemplateIDType TemplateID; ALMAS_CategoryType Category; short Priority; ALMAS_StatusType Status; ALMAS_ScopeType Scope; ALMAS_TimeoutType Timeout; boolean ConfirmationRequired; BSTR SecondaryGrouping; boolean Persistent; boolean ReliablyDistributed; ALMAS_TimeoutActionType TimeoutAction; ALMAS_AckModelType AcknowledgementModel; SAFEARRAY(ALMAS_StaticMessageType) StaticMessages; SAFEARRAY(ALMAS_DynamicMessageDataType)DynamicMessages; SAFEARRAY(ALMAS_AlertDataExtraAttributesType) ExtraAttributes;} ALMAS_AlertDataType; typedef struct { boolean Inhibited; boolean RaiseToAll; ALMAS_AlertDataType AlertData; SAFEARRAY(ALMAS_ReceiverKindType) ReceiverKinds; } ALMAS_AlertTemplateType; typedef struct { boolean Acknowledged; boolean Routed; boolean Actioned; boolean ReceiverIsActionee; SAFEARRAY(BSTR) AlternativeAction; BSTR ReceiverID; ALMAS_AlertIDType AlertID; } ALMAS_AlertReportType; typedef struct { BSTR ReceiverID; ALMAS_ReceiverKindType ReceiverKind; } ALMAS_AvailableAlertReceiverType; typedef struct { ALMAS_AlertIDType AlertID; ALMAS_DateTimeType RaisingTime; ALMAS_StateType CurrentState; BSTR ProducerID; ALMAS_AlertDataType AlertData; SAFEARRAY(ALMAS_AvailableAlertReceiverType) Receivers; } ALMAS_Alert; #endif