//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / OVOPS++
//
//File: adapter.h
//
//Version: $Revision: 1.19 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/10/05 10:18:38 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
// 
//Authors:
//      Pasi Nummisalo
//      Juhana Räsänen
//      Timo Pärnänen
//	Vesa-Matti Puro
//
//Description:
//      An Adapter is a conduit that has no neighbor conduit on its
//      sideB. The Adapter conduit is used to iterface the framework
//      to some other software or hardware.
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//      
//Licence:
//     
//
//History:
//
//
 
#ifndef __PF_ADAPTER_H__
#define __PF_ADAPTER_H__

#include "protocol.h"

class pfAdapter : public pfProtocol
{
    public:
        static pfConduit createAdapter(pfState *state_);
        pfAdapter(const pfAdapter &other_);
        virtual ~pfAdapter(void);
        
    protected:
        pfAdapter(void);
        virtual pfProtocol *cloneImplementation(void) const;
        virtual void acceptSynchronous(pfTransporter *transporter_);

    private:
        void operator=(const pfAdapter &other_);    // only declared 
        virtual void connectToB(pfConduit &sideB_);
        virtual void toB(pfTransporter *transporter_);
};

#endif // __PF_ADAPTER_H__

