//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / uni
//
//File: unipducoders.h
//
//Version: $Revision: 1.1 $
//
//State: $State: Exp $
//
//Date: $Date: 1999/01/20 09:00:09 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Sami Raatikainen
//
//Description:
//      Defines needed ieCoders for different pdus, and other possible actions.
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History:
//

#ifndef __UNI_UNIPDUCODERS_H__
#define __UNI_UNIPDUCODERS_H__

#include "unipducoder.h"
//#include "uniiecoders.h"
#include "unicoorprotocol.h"

//----------------------------------------------------------------------

class uniSETUPcoder : public uniPduCoder
{
    public:
        uniSETUPcoder(void);
        virtual ~uniSETUPcoder(void);

    private:
        //_optional.insert(uniIEAALParameters);
        //_mandatory.insert(uniIEATMTrafficDescriptor);
        //_mandatory.insert(uniIEBBearerCapability);

        //_optional.insert(uniIEBHighLayerInfo);
        //_optional.insert(uniIEBRepeatIndicator);
        //_optional.insert(uniIEBLowLayerInfo);
        //_mandatory.insert(uniIECalledPartyNumber);
        //_optional.insert(uniIECalledPartySubaddress);
        //_optional.insert(uniIECallingPartyNumber);
        //_optional.insert(uniIECallingPartySubaddress);
        //_optional.insert(uniIEConnectionIdentifier); // N->U
        //_mandatory.insert(uniIEQoSParameters);

        //_optional.insert(uniIEBSendingComplete);
        //_optional.insert(uniIETransitNetworkSelection); // U->N
        //_optional.insert(uniIEEndpointReference);
        
        virtual void noProtocolCallReferenceProcedures(
            uniCoOrdProtocol *protocol_);
        virtual void protocolRelatedCallReferenceProcedures(
            uniCoOrdProtocol *protocol_);
        
        virtual void uniMandatoryIEMissingAct(
            uniCoOrdProtocol *protocol_,
            uniErrorInfo &errorInfo_);
        virtual void uniMandatoryIEContentErrorAct(
            uniCoOrdProtocol *protocol_,
            uniErrorInfo &errorInfo_);
        
};

//----------------------------------------------------------------------



#endif // __UNI_UNIPDUCODERS_H__
