//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project
//
//File: gsmpprimitives.cpp
//
//Version: $Revision: 1.7 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/12/16 16:57:24 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Harri Sunila
//
//Description:
//      See corresponding header file.
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History: 

#include "gsmpprimitives.h"
#include "pf/error.h"
//
// Function: gsmpStartAdjacencyProtocol
//
// Description:
//     Default constructor
//

gsmpStartAdjacencyProtocol :: gsmpStartAdjacencyProtocol(void)
    : pfTransporter()
{
    return;
}

//
// Function: createGsmpStartAdjacencyProtocol
//
// Description:
//     Static method to create a gsmpStartAdjacencyProtocol transporter
//

gsmpStartAdjacencyProtocol *
gsmpStartAdjacencyProtocol :: createGsmpStartAdjacencyProtocol(void)
{
    gsmpStartAdjacencyProtocol *transporter = new gsmpStartAdjacencyProtocol;
    return transporter;
}

//
// Function: gsmpStartAdjacencyProtocol
//
// Description:
//     Copy constructor
//

gsmpStartAdjacencyProtocol :: gsmpStartAdjacencyProtocol(
    const gsmpStartAdjacencyProtocol &other_)
    : pfTransporter(other_)
{
    return;
}

//
// Function: ~gsmpStartAdjacencyProtocol
//
// Description:
//     Destructor
//

gsmpStartAdjacencyProtocol :: ~gsmpStartAdjacencyProtocol(void)
{
    return;
}

//
// Function: clone
//
// Description:  
//

gsmpStartAdjacencyProtocol *gsmpStartAdjacencyProtocol :: clone(void) const
{
    gsmpStartAdjacencyProtocol *transporter = new gsmpStartAdjacencyProtocol(
        *this);
    return transporter;
}

//
// Function: atProtocol
//
// Description:  
//

void gsmpStartAdjacencyProtocol :: atProtocol(pfProtocol *const protocol_,
                                          pfState *state_)
{
    gsmpAdjacencyProtocol *protocol = dynamic_cast<gsmpAdjacencyProtocol *>(
        protocol_);
    THROW_IF_DYNAMIC_CAST_FAILED(protocol);
    //protocol->receivingTrace(this);
    protocol->startTimer();
    return;
}
