1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
27 #include
<com
/sun
/star
/corba
/iop
/iop.idl
>
28 module com
{ module sun
{ module star
{ module corba
{ module giop
33 published
struct Version
42 published
enum MsgType_1_1
44 Request
, Reply
, CancelRequest
,
45 LocateRequest
, LocateReply
,
46 CloseConnection
, MessageError
,
47 Fragment
// GIOP 1.1 addition
54 published
struct MessageHeader_1_0
55 {// Renamed from MessageHeader
63 unsigned long message_size
;
69 published
struct MessageHeader_1_1
76 byte flags
; // GIOP 1.1 change
78 unsigned long message_size
;
84 published
typedef MessageHeader_1_1 MessageHeader_1_2
;
89 published
struct RequestHeader_1_0
91 com
::sun
::star
::corba
::iop
::ServiceContextList service_context
;
92 unsigned long request_id
;
93 boolean response_expected
;
94 sequence
< byte > object_key
;
95 CorbaString8 operation
;
96 sequence
< byte > requesting_principal
;
102 published
struct RequestHeader_1_1
104 com
::sun
::star
::corba
::iop
::ServiceContextList service_context
;
105 unsigned long request_id
;
106 boolean response_expected
;
109 byte reserved_3
; // Added in GIOP 1.1
110 sequence
<byte> object_key
;
111 CorbaString8 operation
;
112 sequence
<byte> requesting_principal
; // binary compatible
118 published
struct IORAddressingInfo
120 unsigned long selected_profile_index
;
121 com
::sun
::star
::corba
::iop
::IOR ior
;
127 published constants TargetAddressGroup
129 const short KeyAddr
= 0;
130 const short ProfileAddr
= 1;
131 const short ReferenceAddr
= 2;
137 published
struct TargetAddress
: CorbaUnion
139 short nDiscriminator
;
140 sequence
< byte > object_key
; // KeyAddr
141 com
::sun
::star
::corba
::iop
::TaggedProfile profile
; // ProfileAddr
142 IORAddressingInfo ior
; // ReferenceAddr
149 published
struct RequestHeader_1_2
151 unsigned long request_id
;
156 TargetAddress target
;
157 CorbaString8 operation
;
158 // Principal not in GIOP 1.2
159 com
::sun
::star
::corba
::iop
::ServiceContextList service_context
; // 1.2 change
166 published
enum ReplyStatusType_1_2
172 LOCATION_FORWARD_PERM
, // new value for 1.2
173 NEEDS_ADDRESSING_MODE
// new value for 1.2
180 published
struct ReplyHeader_1_2
182 unsigned long request_id
;
183 ReplyStatusType_1_2 reply_status
;
184 com
::sun
::star
::corba
::iop
::ServiceContextList service_context
; // 1.2 change
190 published
struct SystemExceptionReplyBody
192 CorbaString8 exception_id
;
193 unsigned long minor_code_value
;
194 unsigned long completion_status
;
200 published
struct CancelRequestHeader
202 unsigned long request_id
;
208 published
struct LocateRequestHeader_1_0
210 // Renamed LocationRequestHeader
211 unsigned long request_id
;
212 sequence
<byte> object_key
;
218 published
typedef LocateRequestHeader_1_0 LocateRequestHeader_1_1
;
223 published
enum LocateStatusType_1_2
{
227 OBJECT_FORWARD_PERM
, // new value for GIOP 1.2
228 LOC_SYSTEM_EXCEPTION
, // new value for GIOP 1.2
229 LOC_NEEDS_ADDRESSING_MODE
// new value for GIOP 1.2
235 published
struct LocateReplyHeader_1_2
237 unsigned long request_id
;
238 LocateStatusType_1_2 locate_status
;
244 published
struct FragmentHeader_1_2
246 unsigned long request_id
;