//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project
//
//File: 
//
//Version: $Revision: 1.1 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/12/03 15:05:03 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//
//
//Description:
//
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History: 

#ifndef __TESTCONFIG_H__
#define __TESTCONFIG_H__

#include <typeinfo>
#include <string>
#include "pf/types.h"
#include "iface/swif/swconfigcontrol.h"
#include "iface/swif/swportconfig.h"
#include "protocol/gsmp/gsmpconfigurationmanagement.h"

class testConfigControl : public swConfigControl,
                          public swPortConfig
{
    public:
        testConfigControl(void);
        virtual ~testConfigControl(void);

        void setupGSMP(pfUlong port_, pfUlong vci_);

        void sendSwitchConfigurationRequest(void);
        void sendAllPortsConfigurationRequest(void);

        // swConfigControl
        virtual swPortConfig *getPortConfig(pfUlong portNumber_);
        virtual void setSwitchName(const string& switchName_);
        virtual void setSwitchType(pfUlong switchType_);
        virtual void setFirmwareVersionNumber(pfUlong versionNumber_);

        // swPortConfig
        virtual void setMinVPI(pfUlong VPI_);
        virtual void setMaxVPI(pfUlong VPI_);
        virtual void setMinVCI(pfUlong VCI_);
        virtual void setMaxVCI(pfUlong VCI_);
        
    private:
        gsmpConfigurationManagement _gsmpConfig;
};

#endif // __TESTCONFIG_H__

