//
//  WirelessStub.cc
//  This file is generated by stubgen2.
//

//
// Copyright 2002 Sony Corporation 
//
// Permission to use, copy, modify, and redistribute this software for
// non-commercial use is hereby granted.
//
// This software is provided "as is" without warranty of any kind,
// either expressed or implied, including but not limited to the
// implied warranties of fitness for a particular purpose.
//

#ifndef OPENR_STUBGEN
#define OPENR_STUBGEN
#endif

#if defined(__GNUC__)
#include <apsys.h>
#endif
#include <MCOOP.h>
#include <ObjectEntryTable.h>
#include <OPENR/stub_macro.h>
#include "def.h"
#include "entry.h"
#include "WirelessStub.h"

//
//  Object Core
//
#include "Wireless.h"
Wireless Self;

//
//  Stub Function Definitions
//
StubFuncDefine_Basic(Init)
StubFuncDefine_Basic(Start)
StubFuncDefine_Basic(Stop)
StubFuncDefine_Basic(Destroy)
StubFuncDefine_Control_nofunc(0)
StubFuncDefine_Ready(0, Ready)
StubFuncDefine_Control_nofunc(1)
StubFuncDefine_Ready(1, Ready)
StubFuncDefine_Control_nofunc(2)
StubFuncDefine_Ready(2, Ready)
StubFuncDefine_Control_nofunc(3)
StubFuncDefine_Ready(3, Ready)
StubFuncDefine_Control_nofunc(4)
StubFuncDefine_Ready_nofunc(4)
StubFuncDefine_Control_nofunc(5)
StubFuncDefine_Ready(5, Ready)
StubFuncDefine_Connect_nofunc(0)
StubFuncDefine_Notify(0, redirectCompressedCPlane)
StubFuncDefine_Connect_nofunc(1)
StubFuncDefine_Notify(1, redirectWorldModel)
StubFuncDefine_Connect_nofunc(2)
StubFuncDefine_Notify(2, setPlayerNumber)
StubFuncDefine_Connect_nofunc(3)
StubFuncDefine_Notify(3, NetInfo)
StubFuncDefine_Connect_nofunc(4)
StubFuncDefine_Notify(4, redirectFromActuator)
StubFuncDefine_Connect_nofunc(5)
StubFuncDefine_Notify(5, sendTeamTalk)

//
// Other definitions if any
//
extern "C" void
_TCPListenCont(void* msg)
{
    Self.TCPListenCont(msg);
    Return();
}

extern "C" void
_TCPSendCont(void* msg)
{
    Self.TCPSendCont(msg);
    Return();
}

extern "C" void
_TCPReceiveCont(void* msg)
{
    Self.TCPReceiveCont(msg);
    Return();
}

extern "C" void
_TCPCloseCont(void* msg)
{
    Self.TCPCloseCont(msg);
    Return();
}

extern "C" void
_UDPSendCont(void* msg)
{
    Self.UDPSendCont(msg);
    Return();
}

extern "C" void
_UDPReceiveCont(void* msg)
{
    Self.UDPReceiveCont(msg);
    Return();
}

extern "C" void
_UDPCloseCont(void* msg)
{
    Self.UDPCloseCont(msg);
    Return();
}


//
// Set Entry Table
//
#if defined(__GNUC__)
GEN_ENTRY(_hookstub0, _Init);
GEN_ENTRY(_hookstub1, _Start);
GEN_ENTRY(_hookstub2, _Stop);
GEN_ENTRY(_hookstub3, _Destroy);
GEN_ENTRY(_controlstub0, 	_Control0);
GEN_ENTRY(_readystub0, 	_Ready0);
GEN_ENTRY(_controlstub1, 	_Control1);
GEN_ENTRY(_readystub1, 	_Ready1);
GEN_ENTRY(_controlstub2, 	_Control2);
GEN_ENTRY(_readystub2, 	_Ready2);
GEN_ENTRY(_controlstub3, 	_Control3);
GEN_ENTRY(_readystub3, 	_Ready3);
GEN_ENTRY(_controlstub4, 	_Control4);
GEN_ENTRY(_readystub4, 	_Ready4);
GEN_ENTRY(_controlstub5, 	_Control5);
GEN_ENTRY(_readystub5, 	_Ready5);
GEN_ENTRY(_connectstub0, 	_Connect0);
GEN_ENTRY(_notifystub0, 	_Notify0);
GEN_ENTRY(_connectstub1, 	_Connect1);
GEN_ENTRY(_notifystub1, 	_Notify1);
GEN_ENTRY(_connectstub2, 	_Connect2);
GEN_ENTRY(_notifystub2, 	_Notify2);
GEN_ENTRY(_connectstub3, 	_Connect3);
GEN_ENTRY(_notifystub3, 	_Notify3);
GEN_ENTRY(_connectstub4, 	_Connect4);
GEN_ENTRY(_notifystub4, 	_Notify4);
GEN_ENTRY(_connectstub5, 	_Connect5);
GEN_ENTRY(_notifystub5, 	_Notify5);
GEN_ENTRY(_TCPListenContstub, 	_TCPListenCont);
GEN_ENTRY(_TCPSendContstub, 	_TCPSendCont);
GEN_ENTRY(_TCPReceiveContstub, 	_TCPReceiveCont);
GEN_ENTRY(_TCPCloseContstub, 	_TCPCloseCont);
GEN_ENTRY(_UDPSendContstub, 	_UDPSendCont);
GEN_ENTRY(_UDPReceiveContstub, 	_UDPReceiveCont);
GEN_ENTRY(_UDPCloseContstub, 	_UDPCloseCont);
GEN_ENTRY(PrologueEntry, Prologue);

ObjectEntry	ObjectEntryTable[] = {
    {Entry_Hook[0], 	(Entry)_hookstub0},
    {Entry_Hook[1], 	(Entry)_hookstub1},
    {Entry_Hook[2], 	(Entry)_hookstub2},
    {Entry_Hook[3], 	(Entry)_hookstub3},
    {Entry_Control[0], 	(Entry)_controlstub0},
    {Entry_Ready[0], 	(Entry)_readystub0},
    {Entry_Control[1], 	(Entry)_controlstub1},
    {Entry_Ready[1], 	(Entry)_readystub1},
    {Entry_Control[2], 	(Entry)_controlstub2},
    {Entry_Ready[2], 	(Entry)_readystub2},
    {Entry_Control[3], 	(Entry)_controlstub3},
    {Entry_Ready[3], 	(Entry)_readystub3},
    {Entry_Control[4], 	(Entry)_controlstub4},
    {Entry_Ready[4], 	(Entry)_readystub4},
    {Entry_Control[5], 	(Entry)_controlstub5},
    {Entry_Ready[5], 	(Entry)_readystub5},
    {Entry_Connect[0], 	(Entry)_connectstub0},
    {Entry_Notify[0], 	(Entry)_notifystub0},
    {Entry_Connect[1], 	(Entry)_connectstub1},
    {Entry_Notify[1], 	(Entry)_notifystub1},
    {Entry_Connect[2], 	(Entry)_connectstub2},
    {Entry_Notify[2], 	(Entry)_notifystub2},
    {Entry_Connect[3], 	(Entry)_connectstub3},
    {Entry_Notify[3], 	(Entry)_notifystub3},
    {Entry_Connect[4], 	(Entry)_connectstub4},
    {Entry_Notify[4], 	(Entry)_notifystub4},
    {Entry_Connect[5], 	(Entry)_connectstub5},
    {Entry_Notify[5], 	(Entry)_notifystub5},
    {Extra_Entry[0], 	(Entry)_TCPListenContstub},
    {Extra_Entry[1], 	(Entry)_TCPSendContstub},
    {Extra_Entry[2], 	(Entry)_TCPReceiveContstub},
    {Extra_Entry[3], 	(Entry)_TCPCloseContstub},
    {Extra_Entry[4], 	(Entry)_UDPSendContstub},
    {Extra_Entry[5], 	(Entry)_UDPReceiveContstub},
    {Extra_Entry[6], 	(Entry)_UDPCloseContstub},
    {UNDEF,            (Entry) ENTRY_UNDEF}
};
#else

//
//  Stub Function Pointer
//  
_Hook _hook[numOfHook] = { _Hook(Init), _Hook(Start), _Hook(Stop), _Hook(Destroy) };
_Control _control[numOfSubject]  = { _Control(0), _Control(1), _Control(2), _Control(3), _Control(4), _Control(5) };
_Ready   _ready  [numOfSubject]  = { _Ready(0), _Ready(1), _Ready(2), _Ready(3), _Ready(4), _Ready(5) };
_Connect _connect[numOfObserver] = { _Connect(0), _Connect(1), _Connect(2), _Connect(3), _Connect(4), _Connect(5) };
_Notify  _notify [numOfObserver] = { _Notify(0), _Notify(1), _Notify(2), _Notify(3), _Notify(4), _Notify(5) };

ObjectEntry  ObjectEntryTable[] = {
    {Entry_Hook[0], 	(Entry) _Hook(Init)},
    {Entry_Hook[1], 	(Entry) _Hook(Start)},
    {Entry_Hook[2], 	(Entry) _Hook(Stop)},
    {Entry_Hook[3], 	(Entry) _Hook(Destroy)},
    {Entry_Control[0], 	(Entry) _Control(0)},
    {Entry_Control[1], 	(Entry) _Control(1)},
    {Entry_Control[2], 	(Entry) _Control(2)},
    {Entry_Control[3], 	(Entry) _Control(3)},
    {Entry_Control[4], 	(Entry) _Control(4)},
    {Entry_Control[5], 	(Entry) _Control(5)},
    {Entry_Ready[0], 	(Entry) _Ready(0)},
    {Entry_Ready[1], 	(Entry) _Ready(1)},
    {Entry_Ready[2], 	(Entry) _Ready(2)},
    {Entry_Ready[3], 	(Entry) _Ready(3)},
    {Entry_Ready[4], 	(Entry) _Ready(4)},
    {Entry_Ready[5], 	(Entry) _Ready(5)},
    {Entry_Connect[0], 	(Entry) _Connect(0)},
    {Entry_Connect[1], 	(Entry) _Connect(1)},
    {Entry_Connect[2], 	(Entry) _Connect(2)},
    {Entry_Connect[3], 	(Entry) _Connect(3)},
    {Entry_Connect[4], 	(Entry) _Connect(4)},
    {Entry_Connect[5], 	(Entry) _Connect(5)},
    {Entry_Notify[0], 	(Entry) _Notify(0)},
    {Entry_Notify[1], 	(Entry) _Notify(1)},
    {Entry_Notify[2], 	(Entry) _Notify(2)},
    {Entry_Notify[3], 	(Entry) _Notify(3)},
    {Entry_Notify[4], 	(Entry) _Notify(4)},
    {Entry_Notify[5], 	(Entry) _Notify(5)},
    {Extra_Entry[0], 	(Entry) _TCPListenCont},
    {Extra_Entry[1], 	(Entry) _TCPSendCont},
    {Extra_Entry[2], 	(Entry) _TCPReceiveCont},
    {Extra_Entry[3], 	(Entry) _TCPCloseCont},
    {Extra_Entry[4], 	(Entry) _UDPSendCont},
    {Extra_Entry[5], 	(Entry) _UDPReceiveCont},
    {Extra_Entry[6], 	(Entry) _UDPCloseCont},
    {UNDEF, 		(Entry) ENTRY_UNDEF}
};
#endif
