summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/RtecUDPAdmin.idl
blob: b63f52fe9a241e2b8111d8b4147d75bf778a5d37 (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
/**
 * @file RtecUDPAdmin.idl
 *
 * @brief Define the RtecUDPAdmin module
 *
 * $Id$
 *
 * TAO's Real-time Event Service is described in:
 *
 * http://doc.ece.uci.edu/~coryan/EC/
 *
 * @author Carlos O'Ryan <coryan@uci.edu>
 */

#ifndef TAO_RTEC_UDP_ADMIN_IDL
#define TAO_RTEC_UDP_ADMIN_IDL

#include "RtecEventComm.idl"

/**
 * @namespace RtecUDPAdmin
 *
 * @brief Define the data structures and interfaces used by UDP-based
 *   gateways
 */
module RtecUDPAdmin
{
  /**
   * @struct UDP_Addr
   *
   * @brief Represent a UDP SAP.
   */
  struct UDP_Addr
  {
    /// The IP address
    unsigned long ipaddr;
    /// The UDP port
    unsigned short port;
  };

  /**
   * @interface AddrServer
   *
   * @brief Defines a interface to configure the mapping between
   *   events and multicast groups (or UDP broadcast or UDP unicast)
   *   addresses.
   */
  interface AddrServer
  {
    /// Get the UDP address give the event header
    /**
     * @param header The event header, used to fetch the type and
     *   source of the event
     * @param addr Return the address used for the given event type
     */
    void get_addr (in RtecEventComm::EventHeader header,
                   out UDP_Addr addr);
  };
};

#endif /* TAO_RTEC_UDP_ADMIN_IDL */