//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / IE
//
//File: qos.cpp
//
//Version: $Revision: 1.8 $
//
//State: $State: Exp $
//
//Date: $Date: 1999/03/10 15:01:36 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Sami Raatikainen
//
//Description:
//
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History: 
//

#include "qos.h"
#include "pf/error.h"

ieQoS :: ieQoS(pfUlong forward_, pfUlong backward_)
    : ieInformationElement(),
      _forward(forward_),
      _backward(backward_)
{
    return;
}

ieQoS :: ieQoS(const ieQoS &other_)
    : _forward(other_._forward),
      _backward(other_._backward)
{
    return;
}

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

const ieQoS & ieQoS :: operator=(const ieQoS &other_)
{
    if (&other_ != this)
    {
        _forward = other_._forward;
        _backward = other_._backward;
    }
    return *this;
}

pfIE *ieQoS :: clone(void) const
{
    ieQoS *newIe = new ieQoS(*this);
    return (pfIE *)newIe;
}

ieQoS* ieQoS :: narrow(pfIE *ie_)
{
    ieQoS *result =
        dynamic_cast<ieQoS*>(ie_);
    THROW_IF_DYNAMIC_CAST_FAILED(result);
    return result;
}

pfUlong ieQoS :: getClassForward(void) const
{
    return _forward;
}

pfUlong ieQoS :: getClassBackward(void) const
{
    return _backward;
}
