//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / SCCP protocol 
//
//File: sccpcolleague.h
//
//Version: $Revision: 1.3 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/02/04 19:06:25 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Timo Pärnänen
//
//Description:
//
//Copyright:
//
//
//Licence:
//
//
//History:

#ifndef __SCCP_COLLEAGUE_H__
#define __SCCP_COLLEAGUE_H__

#include "pf/protocol.h"
#include "common/ss7configure.h"
#include "sccpmethodinterface.h"

class pfMessenger;
class sccpProtocol;

//
//Class: sccpColleague
//
//Inherits: pfProtocol
//          
//Description:
//
//

class sccpColleague : public pfProtocol,
                      public sccpMethodInterface
{
    public:      
        sccpColleague(sccpProtocol *protocol_, ss7Configure &configure_);
        virtual ~sccpColleague(void);
        
        void accept(pfMessenger *messenger_);
    
        // neighboring levels. Note that these are asynchronous!
        virtual void toMTP(pfMessenger *messenger_);
        virtual void toSubSystem(pfMessenger *messenger_);
	
        // SCCP procedures (blocks)
        virtual void toSCRC(pfMessenger *messenger_);
	virtual void toSCLC(pfMessenger *messenger_);

    protected:
        sccpProtocol *_protocol;
        ss7Configure _configure;
};

#endif // __SCCP_COLLEAGUE_H__
