//Editor-Info: -*- C++ -*-
//
//Subject: TOVE-project / NNI-AAL interface
//
//File: naalupprimitives.cpp
//
//Version: $Revision: 1.10 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/09/01 08:35:55 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications and Multimedia
//
//Author:
//      Juhana Räsänen
//
//Description:
//      See corresponding header file
//
//Copyright:
//
//
//Licence:
//
//
//History: 


#include "naalupprimitives.h"

naalUpPrimitives :: naalUpPrimitives(void)
    : pfMessenger()
{
    defineInteger("AALid");
    return;
}

naalUpPrimitives :: ~naalUpPrimitives(void)
{
    return;
}

//
//Function: setAALidentifier
//
//Description:
//    Set identifier used to find right AAL connection in mux.
//

void naalUpPrimitives :: setAALidentifier(pfKey AALid_)
{
    setInteger("AALid", AALid_);
    return;
}

pfKey naalUpPrimitives :: getAALidentifier(void) const
{
    pfKey identifier = getInteger("AALid");
    return identifier;
}

///////////////////////////////////////////////////////////////////////////
// naalRECEIVED_MESSAGEind :: apply()
//                            setMessageUnit()
//                            getMessageUnit()
//                            naalRECEIVED_MESSAGEind()
//                            ~naalRECEIVED_MESSAGEind()

naalRECEIVED_MESSAGEind :: naalRECEIVED_MESSAGEind(void)
    : naalUpPrimitives(),
      _messageUnit()
{
    return;
}

naalRECEIVED_MESSAGEind :: ~naalRECEIVED_MESSAGEind(void)
{
    return;
}

void naalRECEIVED_MESSAGEind :: apply(pfState *state_,
                                      pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalRECEIVED_MESSAGEindAct(this, protocol_);
    return;
}

void naalRECEIVED_MESSAGEind :: setMessageUnit(const pfFrame &frame_)
{
    _messageUnit = frame_;
    return;
}

pfFrame naalRECEIVED_MESSAGEind :: getMessageUnit(void) const
{
    return _messageUnit;
}


///////////////////////////////////////////////////////////////////////////
// naalLINK_CONGESTEDind :: naalLINK_CONGESTEDind()
//                          ~naalLINK_CONGESTEDind()
//                          apply()
//                          setCongestion()
//                          getCongestion()

naalLINK_CONGESTEDind :: naalLINK_CONGESTEDind(void)
    : naalUpPrimitives(),
      _congestion(0)
{
    return;
}

naalLINK_CONGESTEDind :: ~naalLINK_CONGESTEDind(void)
{
    return;
}

void naalLINK_CONGESTEDind :: apply(pfState *state_, pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalLINK_CONGESTEDindAct(this, protocol_);
    return;
}

void naalLINK_CONGESTEDind :: setCongestion(pfUlong congestion_)
{
    _congestion = congestion_;
    return;
}

pfUlong naalLINK_CONGESTEDind :: getCongestion(void) const
{
    return _congestion;
}


///////////////////////////////////////////////////////////////////////////
// naalLINK_CONGESTION_CEASEDind :: apply()

void naalLINK_CONGESTION_CEASEDind :: apply(pfState *state_,
                                            pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalLINK_CONGESTION_CEASEDindAct(this, protocol_);
    return;
}


///////////////////////////////////////////////////////////////////////////
// naalIN_SERVICEind :: apply()

void naalIN_SERVICEind :: apply(pfState *state_, pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalIN_SERVICEindAct(this, protocol_);
    return;
}


///////////////////////////////////////////////////////////////////////////
// naalOUT_OF_SERVICEind :: apply()

void naalOUT_OF_SERVICEind :: apply(pfState *state_, pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalOUT_OF_SERVICEindAct(this, protocol_);
    return;
}


///////////////////////////////////////////////////////////////////////////
// naalRETRIEVED_MESSAGESind :: apply()
//                              setMessageUnit()
//                              getMessageUnit()

naalRETRIEVED_MESSAGESind :: naalRETRIEVED_MESSAGESind(void)
    : naalUpPrimitives(),
      _messageUnit()
{
    return;
}

naalRETRIEVED_MESSAGESind :: ~naalRETRIEVED_MESSAGESind(void)
{
    return;
}

void naalRETRIEVED_MESSAGESind :: apply(pfState *state_,
                                        pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalRETRIEVED_MESSAGESindAct(this, protocol_);
    return;
}

void naalRETRIEVED_MESSAGESind :: setMessageUnit(const pfFrame &frame_)
{
    _messageUnit = frame_;
    return;
}

pfFrame naalRETRIEVED_MESSAGESind :: getMessageUnit(void) const
{
    return _messageUnit;
}


///////////////////////////////////////////////////////////////////////////
// naalRETRIEVAL_COMPLETEind :: apply()

void naalRETRIEVAL_COMPLETEind :: apply(pfState *state_,
                                        pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalRETRIEVAL_COMPLETEindAct(this, protocol_);
    return;
}


///////////////////////////////////////////////////////////////////////////
// naalBSNTconf :: naalBSNTconf()
//                 ~naalBSNTconf()
//                 apply()
//                 setBSNT()
//                 getBSNT()

naalBSNTconf :: naalBSNTconf(void)
    : naalUpPrimitives(),
      _BSNT(0)
{
    return;
}

naalBSNTconf :: ~naalBSNTconf(void)
{
    return;
}

void naalBSNTconf :: apply(pfState *state_, pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalBSNTconfAct(this, protocol_);
    return;
}

void naalBSNTconf :: setBSNT(pfUlong bsnt_)
{
    _BSNT = bsnt_;
    return;
}

pfUlong naalBSNTconf :: getBSNT(void) const
{
    return _BSNT;
}


///////////////////////////////////////////////////////////////////////////
// naalBSNT_NOT_RETRIEVABLEconf :: apply()

void naalBSNT_NOT_RETRIEVABLEconf :: apply(pfState *state_,
                                           pfProtocol *protocol_)
{
    (dynamic_cast<naalUpInputs *> (state_))->
        naalBSNT_NOT_RETRIEVABLEconfAct(this, protocol_);
    return;
}
