//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / IE
//
//File: callreference.cpp
//
//Version: $Revision: 1.5 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/12/21 16:18:48 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Sami Raatikainen
//
//Description:
//      See corresponding header file.
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History: 

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

ieCallReference :: ieCallReference(void)
    : ieInformationElement(),
      _value(0),
      _flag(false)
{
    return;
}

ieCallReference :: ieCallReference(
    const ieCallReference &other_)
    : _value(other_._value),
      _flag(other_._flag)
{
    return;
}

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

const ieCallReference &ieCallReference :: operator=(
    const ieCallReference &other_)
{
    if (&other_ != this)
    {
        _value = other_._value;
        _flag = other_._flag;
    }
    return *this;
}

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

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


void ieCallReference :: setValue(pfUlong value_)
{
    _value = value_;
    return;
}

void ieCallReference :: setFlag(bool value_)
{
    _flag = value_;
    return;
}

pfUlong ieCallReference :: getValue(void) const
{
    return _value;
}

bool ieCallReference :: getFlag(void) const
{
    return _flag;
}
