summaryrefslogtreecommitdiff
path: root/modules/CIAO/connectors/dds4ccm/idl/dds4ccm_Reader.idl3p
blob: 4b349cce80e267cfe5d7acb5bf3c161ae35ca2a7 (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
/**
 * @file dds4CCM_Reader.idl3p
 *
 */

#ifndef DDS4CCM_READER_IDL3P
#define DDS4CCM_READER_IDL3P

#include "dds4ccm/idl/dds4ccm_Base.idl3"

module CCM_DDS
{
  interface Reader <typename T> {
    typedef sequence<T> T$Seq;
    void read_all (out T$Seq instances, out ReadInfoSeq infos)
      raises (InternalError);
    void read_all_history (out T$Seq instances, out ReadInfoSeq infos)
      raises (InternalError);
    void read_one (inout T an_instance, out ReadInfo info)
      raises (NonExistent,
              InternalError);
    void read_one_history (in T an_instance,
                           out T$Seq instances, out ReadInfoSeq infos)
      raises (NonExistent,
              InternalError);
    attribute QueryFilter filter
      setraises (BadParameter);
    // behaviour
    // - read operations are performed with the following parameters
    //	- READ or NO_READ
    //	- NEW or NOT_NEW
    //	- ALIVE
    //	- through the query as specified in the filter ("" means no query)
    // - data returned:
    //	- read_all returns for each living instance, its last sample
    //	  ordered by instance first and then by sample
    // 	- read_all_history returns all the samples of all instances
    //	  ordered by instance first and then by sample
    // 	- read_one returns the last sample of the given instance
    // 	- read_one_history returns all the samples for the given instance
  };

};

#endif