//## Module: PushPorts
//## Subsystem:  Core_CSCI_IDL_Implementation_Components::CF_IDL_Implementation_Component
//## Source file:  /software/components/RadioCORBA/mmits_sdr/sdr_code.ss/glbick_jtrs.wrk/PushPorts.idl
//## Documentation::
//    This CORBA Module contains the Push Port interfaces
//    where each interface is based upon one CORBA basic
//    type.
//##begin module.cm preserve=no
//    %X% %Q% %Z% %W%
//##end module.cm

//##begin module.cp preserve=no
//##end module.cp


#ifndef PushPorts_idl
#define PushPorts_idl

//##begin module.additionalIncludes preserve=no
//##end module.additionalIncludes

//##begin module.includes preserve=yes
//##end module.includes

#include "CF.idl"
#include "PortTypes.idl"

// ==================================================================

module PushPorts
{
  //##begin module.declarations preserve=no
  //##end module.declarations

  //##begin module.additionalDeclarations preserve=yes
  //##end module.additionalDeclarations


  //## OctetSeqConsumer Documentation:
  //      This interface is implemented by push consumers
  //      that process an octet sequence pushed to them by
  //      producers.
  //## Category: Push_Port_Consumer_IDL_Design_Components

  interface OctetSeqConsumer {
    //##begin OctetSeqConsumer.initialDeclarations preserve=yes
    //##end OctetSeqConsumer.initialDeclarations

    // Attributes


    // Relationships


    // Associations


    // Operations

    //## Operation: processOctetMsg
    //## Documentation:
    //      This operation is used to push a sequence of Octets
    //      information to be received or transmitted through
    //      the RADIO from one object to the next "destination"
    //      (PushConsumer) object. The message being pushed has
    //      data and control information (classification,
    //      source, destination, priority, etc.).
    oneway void processOctetMsg(in CF::OctetSequence msg, in CF::Properties options);



    //##begin OctetSeqConsumer.additionalDeclarations preserve=yes
    //##end OctetSeqConsumer.additionalDeclarations

  };

};

#endif

