//******************************************************************************
//
// Restricted Rights
// WARNING: This is a restricted distribution Zeligsoft file.
//
//******************************************************************************
//
// Copyright (C) 2006 Zeligsoft Inc. - All Rights Reserved
//

//******************************************************************************
//
//     FILE: zcePushPorts_OctetSeqConsumerProvidesPort.h
//
//******************************************************************************

#ifndef __ZCEPUSHPORTS_OCTETSEQCONSUMERPROVIDESPORT_H
#define __ZCEPUSHPORTS_OCTETSEQCONSUMERPROVIDESPORT_H


#if defined(OS_WIN32)
#pragma warning(disable:4786)
#endif

#include "PushPorts_s.h"
#include "zcePushPorts_OctetSeqConsumerPortHandler.h"

#include "zceAbstractProvidesPort.h"

#include <string>

class zcePushPorts_OctetSeqConsumerProvidesPort :
	public virtual POA_PushPorts::OctetSeqConsumer,
	public virtual zceAbstractProvidesPort
{
	public :
		zcePushPorts_OctetSeqConsumerProvidesPort( const std::string name, int portIdentifier, zcePushPorts_OctetSeqConsumerPortHandler* cons ZCE_EXC_ENV_ARG );

		virtual ~zcePushPorts_OctetSeqConsumerProvidesPort();

		void Destroy( ZCE_EXC_ENV_SINGLE_ARG );

		/*!	\brief
		 *
		 *	 Describe operation here.
		 * 
		 *	\param msg ( ::CF::OctetSequence ) 
		 * 
		 *	\param options ( ::CF::Properties ) 
		 * 
		 */
		void processOctetMsg( const CF::OctetSequence& msg, const CF::Properties& options ZCE_EXC_ENV_ARG )
			throw( CORBA::SystemException );


	protected : 
		zcePushPorts_OctetSeqConsumerPortHandler*  cons_;

		int  portIdentifier_;

		zcePushPorts_OctetSeqConsumerProvidesPort( const zcePushPorts_OctetSeqConsumerProvidesPort& );

		void operator= ( const zcePushPorts_OctetSeqConsumerProvidesPort& );

};
#endif     // __ZCEPUSHPORTS_OCTETSEQCONSUMERPROVIDESPORT_H

// End-Of-File
//------------------------------------------------------------------------------
