//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. 

#include <CosTransactions.idl>

#pragma prefix "omg.org"

module CosTSPortability { // PIDL
	typedef long ReqId;

	pseudo interface Sender {
		void sending_request(in ReqId id,
			out CosTransactions::PropagationContext ctx);
		void received_reply(in ReqId id,
			in CosTransactions::PropagationContext ctx, 
			in CORBA::Environment env);
	};

	pseudo 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_ */
