//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / SWIF
//
//File: swcallbackmessages.cpp
//
//Version: $Revision: 1.3 $
//
//State: $State: Exp $
//
//Date: $Date: 1999/03/09 10:24:38 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Timo Pärnänen
//
//Description:
//      See corresponding header file.
//
//Copyright:
//      Copyright 1999 Helsinki University of Technology
//      ALL RIGHTS RESERVED BETWEEN JANUARY 1996 AND JUNE 1999.
//
//Licence:
//
//
//History: 

#include "pf/protocol.h"
#include "pf/state.h"
#include "pf/debug.h"
#include "swcallbackmessages.h"

string inputInfoStr("inputInfo");
string outputInfoStr("outputInfo");
string causeStr("cause");

//---------------------------------------------------------------

swSuccessMessage :: swSuccessMessage(ieConnectionInfo *input_, 
                                     ieConnectionInfo *output_)
    : pfMessenger()
{
    //defineIE(inputInfoStr);
    //defineIE(outputInfoStr);

    setIE(inputInfoStr, input_);
    setIE(outputInfoStr, output_);
    return;
}

swSuccessMessage :: ~swSuccessMessage(void)
{
    // IEs cannot be deleted, because CC owns and handles them.
    return;
}

void swSuccessMessage :: apply(pfState *state_, pfProtocol *protocol_)
{
    swCallbackInputs *state = dynamic_cast<swCallbackInputs*>(state_);
    assert(state != 0);
    state->swSuccessMessageAct(this, protocol_);
    return;
}

//---------------------------------------------------------------


swFailureMessage :: swFailureMessage(ieCause *cause_)
    : pfMessenger()
{
    //defineIE(causeStr);
    setIE(causeStr, cause_);
    return;
}

swFailureMessage :: ~swFailureMessage(void)
{
    // IEs cannot be deleted, because CC owns and handles them.
    return;
}

void swFailureMessage :: apply(pfState *state_, pfProtocol *protocol_)
{
    swCallbackInputs *state = dynamic_cast<swCallbackInputs*>(state_);
    assert(state != 0);
    state->swFailureMessageAct(this, protocol_);
    return;
}


