//Editor-Info: -*- C++ -*-
//
//Subject: TOVE-project / MTP3 protocol
//
//File: mtp3state_hmdc_idle.h
//
//Version: $Revision: 1.5 $
//
//Date: $Date: 1998/04/20 08:36:01 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications and Multimedia
//
//Author:
//      Petteri Koponen
//      Timo Pärnänen
//
//Description:
//      Definition of state class idle of MTP3 message discrimation (HMDC)
//      functional block. Recommendation Q.704.
//
//Copyright:
//
//
//Licence:
//
//
//History:

#ifndef __MTP3_STATE_HMDC_IDLE_H__
#define __MTP3_STATE_HMDC_IDLE_H__


#include "mtp3state.h"

//Class: mtp3_HMDC_Idle
//
//Inherits: mtp3State
//
//Description:
//      This is the only state of the message discrimination block. The block
//      determines if the message should be routed forward or handled locally.
//

class mtp3_HMDC_Idle : public mtp3State
{
    public:
        // singleton
        static mtp3_HMDC_Idle *instance(void);
        
        // L2->L3
        virtual void naalRECEIVED_MESSAGEindAct(
            naalRECEIVED_MESSAGEind *messenger_,
            pfProtocol *protocol_);
        
    protected:
        // singleton
        mtp3_HMDC_Idle(void);
        virtual ~mtp3_HMDC_Idle(void);
        
        static mtp3_HMDC_Idle *_only;
};

#endif // __MTP3_STATE_HMDC_IDLE_H__ 
