summaryrefslogtreecommitdiff
path: root/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_Base.idl
blob: 0d6a40c3bfda081828a789a6dfc2145e6bebc043 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// $Id$
/**
 * @file dds4ccm_Base.idl
 *
 */

#ifndef DDS4CCM_BASE_IDL3
#define DDS4CCM_BASE_IDL3

#include "dds_rtf2_dcps.idl"

#pragma ciao lem "connectors/dds4ccm/idl/dds4ccm_BaseE.idl"

module CCM_DDS
{
  typedef unsigned long DataNumber_t;   // count or index of data
  typedef sequence<DataNumber_t> DataNumberSeq;
  const DataNumber_t UNLIMITED = 0;

  enum AccessStatus {
    FRESH_INFO,
    ALREADY_SEEN
  };

  enum InstanceStatus {
    INSTANCE_CREATED,
    INSTANCE_FILTERED_IN,
    INSTANCE_UPDATED,
    INSTANCE_FILTERED_OUT,
    INSTANCE_DELETED
  };

  struct ReadInfo {
    DDS::InstanceHandle_t instance_handle;
    DDS::Time_t source_timestamp;
    AccessStatus access_status;
    InstanceStatus instance_status;
  };
  typedef sequence<ReadInfo> ReadInfoSeq;

  struct QueryFilter {
    string            query;
    ::DDS::StringSeq  query_parameters;
  };

  enum ListenerMode {
    NOT_ENABLED,
    ONE_BY_ONE,
    MANY_BY_MANY
  };

  exception AlreadyCreated {
    DataNumberSeq indexes; // of the erroneous
  };

  exception NonExistent{
    DataNumberSeq indexes; // of the erroneous
  };

  exception InternalError{
    DDS::ReturnCode_t error_code;
    DataNumber_t index; // of the erroneaous
  };

  exception NonChangeable {
  };
};

#endif