summaryrefslogtreecommitdiff
path: root/TAO/tao/PortableGroup/miop.pidl
blob: 547b1f2c6ab8d7ccd6f70de953fae99d133e2bd0 (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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//
// $Id$
//
// ================================================================
//
// = LIBRARY
//   TAO_PortableGroup
//
// = FILENAME
//   miop.pidl
//
// = DESCRIPTION
//
//   This file was used to generate the code in miopC.{h,i,cpp}
//
//   The command used to generate code from this file is:
//
//     tao_idl.exe \
//          -o orig \
//          -Ge 1 \
//          -Wb,export_macro=TAO_PortableGroup_Export \
//          -Wb,export_include="tao/corbafwd.h" \
//          -Wb,pre_include="ace/pre.h" \
//          -Wb,post_include="ace/post.h" \
//          miop.pidl
//
//   After the file is generated a patch from the diffs directory must
//   be applied.  The patch:
//
//
//   Apply patches using the following commands:
//
//   patch < diffs\miopC.h.diff
//   patch < diffs\miopC.i.diff
//   patch < diffs\miopC.cpp.diff
//
//   Note: The diffs were generated with these commands:
//
//   diff -wub orig/miopC.h miopC.h > diffs\miopC.h.diff
//   diff -wub orig/miopC.i miopC.i > diffs\miopC.i.diff
//   diff -wub orig/miopC.cpp miopC.cpp > diffs\miopC.cpp.diff
//
// ================================================================

#ifndef MIOP_IDL
#define MIOP_IDL

#include <IOP.pidl>
#include <GIOP.pidl>

#pragma prefix "omg.org"

module MIOP
{
  typedef sequence <octet, 252> UniqueId;

  struct PacketHeader_1_0
  {
    char              magic[4];
    octet             hdr_version;
    octet             flags;
    unsigned short    packet_length;
    unsigned long     packet_number;
    unsigned long     number_of_packets;
    UniqueId          Id;
  };

  typedef GIOP::Version Version;

  typedef string Address;

  struct UIPMC_ProfileBody
  {
    Version           miop_version;
    Address           the_address;
    short             the_port;
    sequence<IOP::TaggedComponent> components;
  };

  // TAO-specific

  local interface MulticastObjectGroupFactory {

    typedef octet ipaddr[4];
    Object create_group (in CORBA::RepositoryId type_id,
                         in ipaddr class_d_address, 
                         in unsigned short port);

  }; 

  // End TAO-specific
};

#endif