//Editor-Info: -*- C++ -*-
//
//Subject: TOVE-project / MTP3 protocol
//
//File: mtp3config.h
//
//Version: $Revision: 1.3 $
//
//Date: $Date: 1998/10/19 18:14:33 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications and Multimedia
//
//Author:
//      Timo Pärnänen
//
//Description:
//      Definition of configure transporter for mtp3Protocol.
//      This transporter is used to install conduits to the mux
//      upward or downward of mtp3Protocol (User Part Mux / AAL Mux).
//
//Copyright:
//
//
//Licence:
//
//
//History:

#ifndef __MTP_CONFIG_H__
#define __MTP_CONFIG_H__

#include "pf/transp.h"

//
//Class: mtpConfigTransporter
//
//Description:
//    See file description.
//

class mtpConfigTransporter : public pfTransporter
{
    public:
        static const pfKey DIRECTION_A;
        static const pfKey DIRECTION_B;
        
        static mtpConfigTransporter
            createConfigSideA(pfKey key_, pfConduit &conduit_);

        static mtpConfigTransporter
            createConfigSideB(pfKey key_, pfConduit &conduit_);

        virtual ~mtpConfigTransporter(void);

        virtual void atProtocol(pfProtocol *const protocol_, pfState *state_);

    protected:
        mtpConfigTransporter(pfKey key_,
                             pfConduit &conduit_,
                             bool direction_);

    private:
        pfConduit _conduit;
        bool _direction;
}; 

#endif // __MTP_CONFIG_H__
