//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / SIGIF
//
//File: sigprimitive.h
//
//Version: $Revision: 1.8 $
//
//State: $State: Exp $
//
//Date: $Date: 1999/03/08 07:28:25 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Jari Katajavuori
//
//Description:
//
//
//Copyright:
//
//
//Licence:
//
//
//History: 

#ifndef __SIGIF_SIGPRIMITIVE_H__
#define __SIGIF_SIGPRIMITIVE_H__

#include <typeinfo>
#include <string>

#include "pf/bytes.h"
#include "pf/messenge.h"

#include "sigstrings.h"

class sigPrimitive : public pfMessenger
{
    public:
        enum NumberType
        {
            UnknownType           = B0000_0000,
            InternationalNumber   = B0000_0001,
            NationalNumber        = B0000_0010,
            NetworkSpecificNumber = B0000_0011,
            SubscriberNumber      = B0000_0100,
            AbbreviatedNumber     = B0000_0110,
            ReservedType          = B0000_0111
        };

        enum PlanType
        {
            UnknownPlan          = B0000_0000,
            ISDNNumberingPlan    = B0000_0001,
            NSAPAddressingPlan   = B0000_0010,
            PrivateNumberingPlan = B0000_1001,
            ReservedPlan         = B0000_1111
        };

        sigPrimitive(void);
        virtual ~sigPrimitive(void);

    protected:
        void defineAALParameters(void);
        void defineATMTrafficDescriptor(void);
        void defineBroadbandBearerCapability(void);
        void defineBroadbandLowLayerInfo(void);
        void defineCalledPartyNumber(void);
        void defineCallingPartyNumber(void);
        void defineCause(void);
        void defineConnectionIdentifier(void);
        void defineQoSParameters(void);
};

#endif // __SIGIF_SIGPRIMITIVE_H__

