#if !defined( __DE_CONSEQUOR_PIB_IDL__ ) #define __DE_CONSEQUOR_PIB_IDL__ module DE { module CONSEQUOR { module PIB { // Version Info const string IDL_VERSION = "@(#) PIB IDL Version A.01.00"; const unsigned long IDL_VERSION_SEQ_NR = 1; // Global Type Definitions const unsigned long MAX_STRING_LEN = 65535; typedef long size_t; typedef sequence uuid_t; typedef sequence wstring_t; const unsigned short TEXT_CODING_ASCII = 11; const unsigned short TEXT_CODING_UTF8 = 21; const unsigned short TEXT_CODING_UTF16 = 22; struct text_t { wstring_t text; unsigned long length; unsigned short coding; sequence lang; // ISO 639-2 based ! // "ger" -> German, "eng" -> "English", ... }; // Globally valid / predefined UUIDs const uuid_t PIB_ADM_CONTACT_CDB_298_UUID = "D9F02B45-31E2-469E-8959-5D1B881240C1"; const uuid_t PIB_ADM_SAP_ECC_60_UUID = "AD5BA656-92F8-4B28-BA4B-0BCDDA70AEC5"; // PIB Network Participant const unsigned long MAX_DEVICE_ADDRESS_LEN = 512; enum device_address_kind { IPV4, IPV6, HOSTNAME, CAT_ADDRESS, RADIO_CALLSIGN, ALE_ADDRESS }; const unsigned long MAX_PROCESS_NAME_LEN = 1024; struct participant_t { uuid_t id; //@key uuid_t pib_adm_id; text_t application_title; device_address_kind device_address_kind; sequence device_address; sequence process_name; }; // PIB MESSAGE typedef string request_t; typedef string response_t; typedef string command_t; typedef string command_result_t; typedef string cat_t; typedef string cat_reply_t; typedef text_t text_msg_t; // Data Package Kinds enum data_packet_kind { EVENT, REQUEST, RESPONSE, COMMAND, COMMAND_RESULT, CAT, CAT_REPLY, TEXT_MESSAGE }; struct event_t { string event_designation; }; union data switch ( data_packet_kind ) { case EVENT: event_t event; case REQUEST: request_t request; case RESPONSE: response_t response; case COMMAND: command_t command; case COMMAND_RESULT: command_result_t command_result; case CAT: cat_t cat; case CAT_REPLY: cat_reply_t cat_reply; case TEXT_MESSAGE: text_msg_t text_message; }; struct data_packet_t { data_packet_kind packet_kind; data value; }; const unsigned long MAX_NR_DATA_PACKETS = 4095; typedef sequence data_packet_seq_t; struct msg_header_t { uuid_t id; //@key unsigned short message_type; unsigned long idl_version_seq_nr; participant_t sender; }; struct msg_body_t { unsigned long nr_data_data_packets; data_packet_seq_t data_packets; }; struct msg_t { msg_header_t header; msg_body_t body; }; }; }; }; #endif