//Editor-Info: -*- C++ -*-
//
//Subject: SCOMS project / IE
//
//File:  callidentity.h 
//
//Version: $Revision: 1.1 $
//
//State: $State: Exp $
//
//Date: $Date: 1999/02/26 13:30:14 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//        Teemu Tynjälä
//
//Description:
//        This file contains the declarations for the Call Identity
//        Information Element.
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History: 


#ifndef __IE_CALLIDENTITY_H
#define __IE_CALLIDENTITY_H

#include "informationelement.h"

class ieCallIdentity : public ieInformationElement
{
    public:
        
        //---------------------------------------------
        // In the constructor, the call identity bit
        // string (max 8 octets) is given in two 4 octet
        // parts.  
        //---------------------------------------------
        
        ieCallIdentity(pfUlong first4CallIdentityOctets_,  
                       pfUlong second4CallIdentityOctets_);
        ieCallIdentity(const ieCallIdentity &other_);
        virtual ~ieCallIdentity(void);
        const ieCallIdentity &operator=(const ieCallIdentity &other_);
        
        pfIE *clone(void) const;
        static ieCallIdentity* narrow(pfIE *ie_); 
        
        void setFirst4CallIdentityOctets(pfUlong value_);
        pfUlong getFirst4CallIdentityOctets(void) const;
        
        void setSecond4CallIdentityOctets(pfUlong value_);
        pfUlong getSecond4CallIdentityOctets(void) const;
        
    private:
        pfUlong _first4octets;
        pfUlong _second4octets;
};

#endif // __IE_CALLIDENTITY_H
