//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / TCAP
//
//File: tcapstate.h
//
//Version: $Revision: 1.1 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/08/03 12:35:03 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author: 
//      Timo Pärnänen
//
//
//Description:
//      Definition of TCAP adapter state class.
//
//Copyright:
//
//
//Licence:
//
//
//History: 

#ifndef __TCAP_STATE_H__
#define __TCAP_STATE_H__

#include <OB/CORBA.h>
#include "tcap_skel.h"

#include "pf/state.h"
#include "iface/sccpif/sccpupprimitives.h"

//
//Class: tcapState 
//
//Description:
//    See file description.
//

class tcapState: public sccpUpInputs,
                 public pfState
{
    public:
        // singleton
        static tcapState *instance(void);

        // Primitives from SCCP
        virtual void sccpN_UNITDATAindAct(sccpN_UNITDATAind *messenger_,
                                          pfProtocol *protocol_);
        virtual void sccpN_NOTICEindAct(sccpN_NOTICEind *messenger_,
                                        pfProtocol *protocol_);
        
    protected:
        // singleton
        tcapState(void);
        virtual ~tcapState(void);
        
        static tcapState *_only;

    private:
        tcap_AddressType createAddress(const pfStorage &address_);
};

#endif // __TCAP_STATE_H__
