//File: CosTSPortability.idl
//Part of the Transaction Service

#ifndef _COS_TS_PORTABILITY_IDL_
#define _COS_TS_PORTABILITY_IDL_

//Note Even though this module is marked PIDL, it compiles with
//     an IDL compiler. 

#ifdef _PRE_3_0_COMPILER_
#include <CosTransactions.idl>
#pragma prefix "omg.org"
#else
import ::CosTransactions;
#endif // _PRE_3_0_COMPILER_

module CosTSPortability { // PIDL

#ifndef _PRE_3_0_COMPILER_
	typeprefix CosTSPortability "omg.org";
#endif // _PRE_3_0_COMPILER_

	typedef long ReqId;

//PolyORB:NI: CORBA::Environment not yet implemented
//PolyORB:NI:	interface Sender {
//PolyORB:NI:		void sending_request(in ReqId id,
//PolyORB:NI:			out CosTransactions::PropagationContext ctx);
//PolyORB:NI:		void received_reply(in ReqId id,
//PolyORB:NI:			in CosTransactions::PropagationContext ctx, 
//PolyORB:NI:			in CORBA::Environment env);
//PolyORB:NI:	};

	interface Receiver {
		void received_request(in ReqId id,
			in CosTransactions::PropagationContext ctx);
		void sending_reply(in ReqId id,
			out CosTransactions::PropagationContext ctx);
	};
};
#endif /* ifndef _COS_TS_PORTABILITY_IDL_ */
