//Editor-Info: -*- C++ -*-

#include <typeinfo>
#include <iostream.h>
#include "pf/system.h"
#include "pf/adapter.h"

#include "sscoplink.h"
#include "sinkadapterstate.h"

#include "pf/debug.h"

void setupATM(int port_, int vci_);


int main(int argc, char *argv[])
{
    debugOutputCout();
    if (argc != 3)
    {
        cerr << "Usage: " << argv[0] << " port vci" << endl;
    }
    else
    {
        pfSystem::init(argc, argv);
        setupATM(atoi(argv[1]), atoi(argv[2]));
        pfSystem::instance()->run();
    }
    return 0;
}


void setupATM(int port_, int vci_)
{
    sscopLink *link = sscopLink::createATMSSCOPlink(0, port_, 0, vci_);
    pfConduit sc = link->getConduit();
    sc.setTraceOn();
 
    aaSinkAdapterState *s = new aaSinkAdapterState;
    pfConduit ac = pfAdapter::createAdapter(s);
    ac.setId(0);

    sc.connectToB(ac);
    ac.connectToA(sc);

    return;
}

