// **********************************************************************
//
// Generated by the ORBacus IDL-to-C++ Translator
//
// Copyright (c) 1998
// Object-Oriented Concepts, Inc.
// Billerica, MA, USA
//
// Copyright (c) 1998
// Object-Oriented Concepts GmbH
// Ettlingen, Germany
//
// All Rights Reserved
//
// **********************************************************************

// Version: 3.0.1
// License: non-commercial

#include <OB/CORBA.h>
#include <OB/TemplateI.h>
#include "inap.h"

//
// IDL:inap/CallIDType:1.0
//
OBTypeCodeConst toveinap__tc_CallIDType(
"010000001500000044000000010000001800000049444c3a696e61702f43616c6c49445479706"
"53a312e30000b00000043616c6c4944547970650000130000000c000000010000000a00000004"
"000000"
);

//
// IDL:inap/CalledPartyNumberType:1.0
//
OBTypeCodeConst toveinap__tc_CalledPartyNumberType(
"01000000150000005c000000010000002300000049444c3a696e61702f43616c6c65645061727"
"4794e756d626572547970653a312e3000001600000043616c6c656450617274794e756d626572"
"54797065000000130000000c000000010000000a00000032000000"
);

//
// IDL:inap/DestinationRoutingAddressType:1.0
//
OBTypeCodeConst toveinap__tc_DestinationRoutingAddressType(
"0100000015000000cc000000010000002b00000049444c3a696e61702f44657374696e6174696"
"f6e526f7574696e6741646472657373547970653a312e3000001e00000044657374696e617469"
"6f6e526f7574696e674164647265737354797065000000130000006c000000010000001500000"
"05c000000010000002300000049444c3a696e61702f43616c6c656450617274794e756d626572"
"547970653a312e3000001600000043616c6c656450617274794e756d626572547970650000001"
"30000000c000000010000000a0000003200000003000000"
);

//
// IDL:inap/EventTypeBCSMType:1.0
//
OBTypeCodeConst toveinap__tc_EventTypeBCSMType(
"0100000011000000bb010000010000001f00000049444c3a696e61702f4576656e74547970654"
"243534d547970653a312e300000120000004576656e74547970654243534d5479706500000015"
"0000000c0000006f726967417474656d707400160000006f726967417474656d7074417574686"
"f72697a65640000000e000000636f6c6c6563746564496e666f00000014000000616e616c7973"
"6564496e666f726d6174696f6e0013000000726f75746553656c6563744661696c75726500001"
"10000006f43616c6c6564506172747942757379000000000a0000006f4e6f416e737765720000"
"00080000006f416e7377657200090000006f4d696443616c6c000000000c0000006f446973636"
"f6e6e65637400090000006f4162616e646f6e00000000160000007465726d417474656d707441"
"7574686f72697a65640000000600000074427573790000000a000000744e6f416e73776572000"
"0000800000074416e737765720009000000744d696443616c6c000000000c0000007444697363"
"6f6e6e6563740009000000744162616e646f6e000000000c0000006f5465726d5365697a65640"
"00b0000006f53757370656e64656400000b0000007453757370656e64656400"
);

void
operator<<=(CORBA_Any& any, toveinap_EventTypeBCSMType val)
{
    any.replace(toveinap__tc_EventTypeBCSMType, new CORBA_ULong((CORBA_ULong)val), true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_EventTypeBCSMType& val)
{
    if(any.check_type(toveinap__tc_EventTypeBCSMType))
    {
        val = (toveinap_EventTypeBCSMType)(*(CORBA_ULong*)any.value());
        return true;
    }
    else
        return false;
}

//
// IDL:inap/MonitorModeType:1.0
//
OBTypeCodeConst toveinap__tc_MonitorModeType(
"010000001100000078000000010000001d00000049444c3a696e61702f4d6f6e69746f724d6f6"
"465547970653a312e3000000000100000004d6f6e69746f724d6f64655479706500030000000c"
"000000696e74657272757074656400120000006e6f74696679416e64436f6e74696e756500000"
"00c0000007472616e73706172656e7400"
);

void
operator<<=(CORBA_Any& any, toveinap_MonitorModeType val)
{
    any.replace(toveinap__tc_MonitorModeType, new CORBA_ULong((CORBA_ULong)val), true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_MonitorModeType& val)
{
    if(any.check_type(toveinap__tc_MonitorModeType))
    {
        val = (toveinap_MonitorModeType)(*(CORBA_ULong*)any.value());
        return true;
    }
    else
        return false;
}

//
// IDL:inap/BCSMEventType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBFixVar< toveinap_BCSMEventType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBFixVar< toveinap_BCSMEventType >)
#endif
#endif

void
OBMarshal(const toveinap_BCSMEventType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.eventTypeBCSM, oct);
    OBMarshal(val.monitorMode, oct);
}

void
OBMarshalCount(const toveinap_BCSMEventType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.eventTypeBCSM, count);
    OBMarshalCount(val.monitorMode, count);
}

void
OBUnmarshal(toveinap_BCSMEventType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.eventTypeBCSM, coct, swap);
    OBUnmarshal(val.monitorMode, coct, swap);
}

OBTypeCodeConst toveinap__tc_BCSMEventType(
"010000000f000000a4020000010000001b00000049444c3a696e61702f4243534d4576656e745"
"47970653a312e3000000e0000004243534d4576656e7454797065000000020000000e00000065"
"76656e74547970654243534d00000011000000bb010000010000001f00000049444c3a696e617"
"02f4576656e74547970654243534d547970653a312e300000120000004576656e745479706542"
"43534d54797065000000150000000c0000006f726967417474656d707400160000006f7269674"
"17474656d7074417574686f72697a65640000000e000000636f6c6c6563746564496e666f0000"
"0014000000616e616c79736564496e666f726d6174696f6e0013000000726f75746553656c656"
"3744661696c7572650000110000006f43616c6c6564506172747942757379000000000a000000"
"6f4e6f416e73776572000000080000006f416e7377657200090000006f4d696443616c6c00000"
"0000c0000006f446973636f6e6e65637400090000006f4162616e646f6e000000001600000074"
"65726d417474656d7074417574686f72697a65640000000600000074427573790000000a00000"
"0744e6f416e737765720000000800000074416e737765720009000000744d696443616c6c0000"
"00000c00000074446973636f6e6e6563740009000000744162616e646f6e000000000c0000006"
"f5465726d5365697a6564000b0000006f53757370656e64656400000b0000007453757370656e"
"64656400000c0000006d6f6e69746f724d6f6465001100000078000000010000001d000000494"
"44c3a696e61702f4d6f6e69746f724d6f6465547970653a312e3000000000100000004d6f6e69"
"746f724d6f64655479706500030000000c000000696e74657272757074656400120000006e6f7"
"4696679416e64436f6e74696e75650000000c0000007472616e73706172656e7400"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_BCSMEventType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_BCSMEventType >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_BCSMEventType* p)
{
    static const OBInfo< toveinap_BCSMEventType > info;
    any.replace(toveinap__tc_BCSMEventType, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_BCSMEventType& val)
{
    toveinap_BCSMEventType* p = new toveinap_BCSMEventType(val);
    static const OBInfo< toveinap_BCSMEventType > info;
    any.replace(toveinap__tc_BCSMEventType, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_BCSMEventType*& p)
{
    if(any.check_type(toveinap__tc_BCSMEventType))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_BCSMEventType* v = new toveinap_BCSMEventType;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_BCSMEventType*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/BCSMEventsType:1.0
//
OBTypeCodeConst toveinap__tc_BCSMEventsType(
"0100000015000000f4020000010000001c00000049444c3a696e61702f4243534d4576656e747"
"3547970653a312e30000f0000004243534d4576656e747354797065000013000000b402000001"
"0000000f000000a4020000010000001b00000049444c3a696e61702f4243534d4576656e74547"
"970653a312e3000000e0000004243534d4576656e7454797065000000020000000e0000006576"
"656e74547970654243534d00000011000000bb010000010000001f00000049444c3a696e61702"
"f4576656e74547970654243534d547970653a312e300000120000004576656e74547970654243"
"534d54797065000000150000000c0000006f726967417474656d707400160000006f726967417"
"474656d7074417574686f72697a65640000000e000000636f6c6c6563746564496e666f000000"
"14000000616e616c79736564496e666f726d6174696f6e0013000000726f75746553656c65637"
"44661696c7572650000110000006f43616c6c6564506172747942757379000000000a0000006f"
"4e6f416e73776572000000080000006f416e7377657200090000006f4d696443616c6c0000000"
"00c0000006f446973636f6e6e65637400090000006f4162616e646f6e00000000160000007465"
"726d417474656d7074417574686f72697a65640000000600000074427573790000000a0000007"
"44e6f416e737765720000000800000074416e737765720009000000744d696443616c6c000000"
"000c00000074446973636f6e6e6563740009000000744162616e646f6e000000000c0000006f5"
"465726d5365697a6564000b0000006f53757370656e64656400000b0000007453757370656e64"
"656400000c0000006d6f6e69746f724d6f6465001100000078000000010000001d00000049444"
"c3a696e61702f4d6f6e69746f724d6f6465547970653a312e3000000000100000004d6f6e6974"
"6f724d6f64655479706500030000000c000000696e74657272757074656400120000006e6f746"
"96679416e64436f6e74696e75650000000c0000007472616e73706172656e740018000000"
);

//
// IDL:inap/UnavailableNetworkResourceType:1.0
//
OBTypeCodeConst toveinap__tc_UnavailableNetworkResourceType(
"0100000011000000e3000000010000002c00000049444c3a696e61702f556e617661696c61626"
"c654e6574776f726b5265736f75726365547970653a312e30001f000000556e617661696c6162"
"6c654e6574776f726b5265736f757263655479706500000500000015000000756e617661696c6"
"1626c655265736f75726365730000000011000000636f6d706f6e656e744661696c7572650000"
"00001d000000626173696343616c6c50726f63657373696e67457863657074696f6e000000001"
"60000007265736f757263655374617475734661696c7572650000000f000000656e6455736572"
"4661696c75726500"
);

void
operator<<=(CORBA_Any& any, toveinap_UnavailableNetworkResourceType val)
{
    any.replace(toveinap__tc_UnavailableNetworkResourceType, new CORBA_ULong((CORBA_ULong)val), true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_UnavailableNetworkResourceType& val)
{
    if(any.check_type(toveinap__tc_UnavailableNetworkResourceType))
    {
        val = (toveinap_UnavailableNetworkResourceType)(*(CORBA_ULong*)any.value());
        return true;
    }
    else
        return false;
}

//
// IDL:inap/RequestReportBCSMEventArgType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< toveinap_RequestReportBCSMEventArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< toveinap_RequestReportBCSMEventArgType >)
#endif
#endif

toveinap_RequestReportBCSMEventArgType::toveinap_RequestReportBCSMEventArgType(const toveinap_RequestReportBCSMEventArgType& _ob_a)
    : callID(_ob_a.callID),
      bcsmEvents(_ob_a.bcsmEvents)
{
}

toveinap_RequestReportBCSMEventArgType&
toveinap_RequestReportBCSMEventArgType::operator=(const toveinap_RequestReportBCSMEventArgType& _ob_a)
{
    if(this != &_ob_a)
    {
        callID = _ob_a.callID;
        bcsmEvents = _ob_a.bcsmEvents;
    }
    return *this;
}

void
OBMarshal(const toveinap_RequestReportBCSMEventArgType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.callID, oct);
    OBMarshal(val.bcsmEvents, oct);
}

void
OBMarshalCount(const toveinap_RequestReportBCSMEventArgType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.callID, count);
    OBMarshalCount(val.bcsmEvents, count);
}

void
OBUnmarshal(toveinap_RequestReportBCSMEventArgType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.callID, coct, swap);
    OBUnmarshal(val.bcsmEvents, coct, swap);
}

OBTypeCodeConst toveinap__tc_RequestReportBCSMEventArgType(
"010000000f000000c0030000010000002b00000049444c3a696e61702f5265717565737452657"
"06f72744243534d4576656e74417267547970653a312e3000001e000000526571756573745265"
"706f72744243534d4576656e7441726754797065000000020000000700000063616c6c4944000"
"01500000044000000010000001800000049444c3a696e61702f43616c6c4944547970653a312e"
"30000b00000043616c6c4944547970650000130000000c000000010000000a000000040000000"
"b0000006263736d4576656e7473000015000000f4020000010000001c00000049444c3a696e61"
"702f4243534d4576656e7473547970653a312e30000f0000004243534d4576656e74735479706"
"5000013000000b4020000010000000f000000a4020000010000001b00000049444c3a696e6170"
"2f4243534d4576656e74547970653a312e3000000e0000004243534d4576656e7454797065000"
"000020000000e0000006576656e74547970654243534d00000011000000bb010000010000001f"
"00000049444c3a696e61702f4576656e74547970654243534d547970653a312e3000001200000"
"04576656e74547970654243534d54797065000000150000000c0000006f726967417474656d70"
"7400160000006f726967417474656d7074417574686f72697a65640000000e000000636f6c6c6"
"563746564496e666f00000014000000616e616c79736564496e666f726d6174696f6e00130000"
"00726f75746553656c6563744661696c7572650000110000006f43616c6c65645061727479427"
"57379000000000a0000006f4e6f416e73776572000000080000006f416e737765720009000000"
"6f4d696443616c6c000000000c0000006f446973636f6e6e65637400090000006f4162616e646"
"f6e00000000160000007465726d417474656d7074417574686f72697a65640000000600000074"
"427573790000000a000000744e6f416e737765720000000800000074416e73776572000900000"
"0744d696443616c6c000000000c00000074446973636f6e6e6563740009000000744162616e64"
"6f6e000000000c0000006f5465726d5365697a6564000b0000006f53757370656e64656400000"
"b0000007453757370656e64656400000c0000006d6f6e69746f724d6f64650011000000780000"
"00010000001d00000049444c3a696e61702f4d6f6e69746f724d6f6465547970653a312e30000"
"00000100000004d6f6e69746f724d6f64655479706500030000000c000000696e746572727570"
"74656400120000006e6f74696679416e64436f6e74696e75650000000c0000007472616e73706"
"172656e740018000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_RequestReportBCSMEventArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_RequestReportBCSMEventArgType >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_RequestReportBCSMEventArgType* p)
{
    static const OBInfo< toveinap_RequestReportBCSMEventArgType > info;
    any.replace(toveinap__tc_RequestReportBCSMEventArgType, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_RequestReportBCSMEventArgType& val)
{
    toveinap_RequestReportBCSMEventArgType* p = new toveinap_RequestReportBCSMEventArgType(val);
    static const OBInfo< toveinap_RequestReportBCSMEventArgType > info;
    any.replace(toveinap__tc_RequestReportBCSMEventArgType, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_RequestReportBCSMEventArgType*& p)
{
    if(any.check_type(toveinap__tc_RequestReportBCSMEventArgType))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_RequestReportBCSMEventArgType* v = new toveinap_RequestReportBCSMEventArgType;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_RequestReportBCSMEventArgType*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/SelectRouteArgType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< toveinap_SelectRouteArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< toveinap_SelectRouteArgType >)
#endif
#endif

toveinap_SelectRouteArgType::toveinap_SelectRouteArgType(const toveinap_SelectRouteArgType& _ob_a)
    : callID(_ob_a.callID),
      destinationRoutingAddress(_ob_a.destinationRoutingAddress)
{
}

toveinap_SelectRouteArgType&
toveinap_SelectRouteArgType::operator=(const toveinap_SelectRouteArgType& _ob_a)
{
    if(this != &_ob_a)
    {
        callID = _ob_a.callID;
        destinationRoutingAddress = _ob_a.destinationRoutingAddress;
    }
    return *this;
}

void
OBMarshal(const toveinap_SelectRouteArgType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.callID, oct);
    OBMarshal(val.destinationRoutingAddress, oct);
}

void
OBMarshalCount(const toveinap_SelectRouteArgType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.callID, count);
    OBMarshalCount(val.destinationRoutingAddress, count);
}

void
OBUnmarshal(toveinap_SelectRouteArgType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.callID, coct, swap);
    OBUnmarshal(val.destinationRoutingAddress, coct, swap);
}

OBTypeCodeConst toveinap__tc_SelectRouteArgType(
"010000000f00000090010000010000002000000049444c3a696e61702f53656c656374526f757"
"465417267547970653a312e30001300000053656c656374526f75746541726754797065000002"
"0000000700000063616c6c494400001500000044000000010000001800000049444c3a696e617"
"02f43616c6c4944547970653a312e30000b00000043616c6c4944547970650000130000000c00"
"0000010000000a000000040000001a00000064657374696e6174696f6e526f7574696e6741646"
"47265737300000015000000cc000000010000002b00000049444c3a696e61702f44657374696e"
"6174696f6e526f7574696e6741646472657373547970653a312e3000001e00000044657374696"
"e6174696f6e526f7574696e674164647265737354797065000000130000006c00000001000000"
"150000005c000000010000002300000049444c3a696e61702f43616c6c656450617274794e756"
"d626572547970653a312e3000001600000043616c6c656450617274794e756d62657254797065"
"000000130000000c000000010000000a0000003200000003000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_SelectRouteArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_SelectRouteArgType >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_SelectRouteArgType* p)
{
    static const OBInfo< toveinap_SelectRouteArgType > info;
    any.replace(toveinap__tc_SelectRouteArgType, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_SelectRouteArgType& val)
{
    toveinap_SelectRouteArgType* p = new toveinap_SelectRouteArgType(val);
    static const OBInfo< toveinap_SelectRouteArgType > info;
    any.replace(toveinap__tc_SelectRouteArgType, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_SelectRouteArgType*& p)
{
    if(any.check_type(toveinap__tc_SelectRouteArgType))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_SelectRouteArgType* v = new toveinap_SelectRouteArgType;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_SelectRouteArgType*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/ContinueArgType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< toveinap_ContinueArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< toveinap_ContinueArgType >)
#endif
#endif

toveinap_ContinueArgType::toveinap_ContinueArgType(const toveinap_ContinueArgType& _ob_a)
    : callID(_ob_a.callID)
{
}

toveinap_ContinueArgType&
toveinap_ContinueArgType::operator=(const toveinap_ContinueArgType& _ob_a)
{
    if(this != &_ob_a)
    {
        callID = _ob_a.callID;
    }
    return *this;
}

void
OBMarshal(const toveinap_ContinueArgType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.callID, oct);
}

void
OBMarshalCount(const toveinap_ContinueArgType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.callID, count);
}

void
OBUnmarshal(toveinap_ContinueArgType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.callID, coct, swap);
}

OBTypeCodeConst toveinap__tc_ContinueArgType(
"010000000f00000098000000010000001d00000049444c3a696e61702f436f6e74696e7565417"
"267547970653a312e300000000010000000436f6e74696e756541726754797065000100000007"
"00000063616c6c494400001500000044000000010000001800000049444c3a696e61702f43616"
"c6c4944547970653a312e30000b00000043616c6c4944547970650000130000000c0000000100"
"00000a00000004000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_ContinueArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_ContinueArgType >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_ContinueArgType* p)
{
    static const OBInfo< toveinap_ContinueArgType > info;
    any.replace(toveinap__tc_ContinueArgType, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_ContinueArgType& val)
{
    toveinap_ContinueArgType* p = new toveinap_ContinueArgType(val);
    static const OBInfo< toveinap_ContinueArgType > info;
    any.replace(toveinap__tc_ContinueArgType, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_ContinueArgType*& p)
{
    if(any.check_type(toveinap__tc_ContinueArgType))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_ContinueArgType* v = new toveinap_ContinueArgType;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_ContinueArgType*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/systemFailure:1.0
//
#ifdef OB_CLEAR_MEM
toveinap_systemFailure::toveinap_systemFailure()
{
    memset(&error_param, 0, sizeof(error_param));
}
#endif

toveinap_systemFailure::toveinap_systemFailure(const toveinap_systemFailure& _ob_a)
    : CORBA_UserException(_ob_a),
      error_param(_ob_a.error_param)
{
}

toveinap_systemFailure::toveinap_systemFailure(toveinap_UnavailableNetworkResourceType _ob_a0)
    : error_param(_ob_a0)
{
}

toveinap_systemFailure&
toveinap_systemFailure::operator=(const toveinap_systemFailure& _ob_a)
{
    if(this != &_ob_a)
    {
        error_param = _ob_a.error_param;
    }
    return *this;
}

toveinap_systemFailure*
toveinap_systemFailure::_narrow(CORBA_Exception* p)
{
#ifdef HAVE_NO_RTTI
    if(p)
        return (toveinap_systemFailure*)(p -> _OB_narrowHelp("IDL:inap/systemFailure:1.0"));
    else
        return 0;
#else
    return dynamic_cast<toveinap_systemFailure*>(p);
#endif
}

#ifdef HAVE_NO_RTTI
void*
toveinap_systemFailure::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:inap/systemFailure:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_UserException::_OB_narrowHelp(_ob_id);
}
#endif

const char*
toveinap_systemFailure::_OB_typeId() const
{
    return "IDL:inap/systemFailure:1.0";
}

CORBA_Exception*
toveinap_systemFailure::_OB_clone() const
{
    return new toveinap_systemFailure(*this);
}

void
OBMarshal(const toveinap_systemFailure& val, CORBA_Octet*& oct)
{
    OBMarshal("IDL:inap/systemFailure:1.0", oct);
    OBMarshal(val.error_param, oct);
}

void
OBMarshalCount(const toveinap_systemFailure& val, CORBA_ULong& count)
{
    OBMarshalCount("IDL:inap/systemFailure:1.0", count);
    OBMarshalCount(val.error_param, count);
}

void
OBUnmarshal(toveinap_systemFailure& val, const CORBA_Octet*& coct, bool swap)
{
    CORBA_String_var id;
    OBUnmarshal(id.inout(), coct, swap);
    assert(strcmp(id, "IDL:inap/systemFailure:1.0") == 0);
    OBUnmarshal(val.error_param, coct, swap);
}

OBTypeCodeConst toveinap__tc_systemFailure(
"010000001600000037010000010000001b00000049444c3a696e61702f73797374656d4661696"
"c7572653a312e3000000e00000073797374656d4661696c757265000000010000000c00000065"
"72726f725f706172616d0011000000e3000000010000002c00000049444c3a696e61702f556e6"
"17661696c61626c654e6574776f726b5265736f75726365547970653a312e30001f000000556e"
"617661696c61626c654e6574776f726b5265736f7572636554797065000005000000150000007"
"56e617661696c61626c655265736f75726365730000000011000000636f6d706f6e656e744661"
"696c757265000000001d000000626173696343616c6c50726f63657373696e674578636570746"
"96f6e00000000160000007265736f757263655374617475734661696c7572650000000f000000"
"656e64557365724661696c75726500"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_systemFailure >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_systemFailure >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_systemFailure* p)
{
    static const OBInfo< toveinap_systemFailure > info;
    any.replace(toveinap__tc_systemFailure, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_systemFailure& val)
{
    toveinap_systemFailure* p = new toveinap_systemFailure(val);
    static const OBInfo< toveinap_systemFailure > info;
    any.replace(toveinap__tc_systemFailure, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_systemFailure*& p)
{
    if(any.check_type(toveinap__tc_systemFailure))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_systemFailure* v = new toveinap_systemFailure;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_systemFailure*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/parameterOutOfRange:1.0
//
toveinap_parameterOutOfRange::toveinap_parameterOutOfRange(const toveinap_parameterOutOfRange& _ob_a)
    : CORBA_UserException(_ob_a)
{
}

toveinap_parameterOutOfRange&
toveinap_parameterOutOfRange::operator=(const toveinap_parameterOutOfRange&)
{
    return *this;
}

toveinap_parameterOutOfRange*
toveinap_parameterOutOfRange::_narrow(CORBA_Exception* p)
{
#ifdef HAVE_NO_RTTI
    if(p)
        return (toveinap_parameterOutOfRange*)(p -> _OB_narrowHelp("IDL:inap/parameterOutOfRange:1.0"));
    else
        return 0;
#else
    return dynamic_cast<toveinap_parameterOutOfRange*>(p);
#endif
}

#ifdef HAVE_NO_RTTI
void*
toveinap_parameterOutOfRange::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:inap/parameterOutOfRange:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_UserException::_OB_narrowHelp(_ob_id);
}
#endif

const char*
toveinap_parameterOutOfRange::_OB_typeId() const
{
    return "IDL:inap/parameterOutOfRange:1.0";
}

CORBA_Exception*
toveinap_parameterOutOfRange::_OB_clone() const
{
    return new toveinap_parameterOutOfRange(*this);
}

void
OBMarshal(const toveinap_parameterOutOfRange&, CORBA_Octet*& oct)
{
    OBMarshal("IDL:inap/parameterOutOfRange:1.0", oct);
}

void
OBMarshalCount(const toveinap_parameterOutOfRange&, CORBA_ULong& count)
{
    OBMarshalCount("IDL:inap/parameterOutOfRange:1.0", count);
}

void
OBUnmarshal(toveinap_parameterOutOfRange&, const CORBA_Octet*& coct, bool swap)
{
    CORBA_String_var id;
    OBUnmarshal(id.inout(), coct, swap);
    assert(strcmp(id, "IDL:inap/parameterOutOfRange:1.0") == 0);
}

OBTypeCodeConst toveinap__tc_parameterOutOfRange(
"010000001600000048000000010000002100000049444c3a696e61702f706172616d657465724"
"f75744f6652616e67653a312e300000000014000000706172616d657465724f75744f6652616e"
"67650000000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_parameterOutOfRange >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_parameterOutOfRange >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_parameterOutOfRange* p)
{
    static const OBInfo< toveinap_parameterOutOfRange > info;
    any.replace(toveinap__tc_parameterOutOfRange, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_parameterOutOfRange& val)
{
    toveinap_parameterOutOfRange* p = new toveinap_parameterOutOfRange(val);
    static const OBInfo< toveinap_parameterOutOfRange > info;
    any.replace(toveinap__tc_parameterOutOfRange, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_parameterOutOfRange*& p)
{
    if(any.check_type(toveinap__tc_parameterOutOfRange))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_parameterOutOfRange* v = new toveinap_parameterOutOfRange;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_parameterOutOfRange*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/missingParameter:1.0
//
toveinap_missingParameter::toveinap_missingParameter(const toveinap_missingParameter& _ob_a)
    : CORBA_UserException(_ob_a)
{
}

toveinap_missingParameter&
toveinap_missingParameter::operator=(const toveinap_missingParameter&)
{
    return *this;
}

toveinap_missingParameter*
toveinap_missingParameter::_narrow(CORBA_Exception* p)
{
#ifdef HAVE_NO_RTTI
    if(p)
        return (toveinap_missingParameter*)(p -> _OB_narrowHelp("IDL:inap/missingParameter:1.0"));
    else
        return 0;
#else
    return dynamic_cast<toveinap_missingParameter*>(p);
#endif
}

#ifdef HAVE_NO_RTTI
void*
toveinap_missingParameter::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:inap/missingParameter:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_UserException::_OB_narrowHelp(_ob_id);
}
#endif

const char*
toveinap_missingParameter::_OB_typeId() const
{
    return "IDL:inap/missingParameter:1.0";
}

CORBA_Exception*
toveinap_missingParameter::_OB_clone() const
{
    return new toveinap_missingParameter(*this);
}

void
OBMarshal(const toveinap_missingParameter&, CORBA_Octet*& oct)
{
    OBMarshal("IDL:inap/missingParameter:1.0", oct);
}

void
OBMarshalCount(const toveinap_missingParameter&, CORBA_ULong& count)
{
    OBMarshalCount("IDL:inap/missingParameter:1.0", count);
}

void
OBUnmarshal(toveinap_missingParameter&, const CORBA_Octet*& coct, bool swap)
{
    CORBA_String_var id;
    OBUnmarshal(id.inout(), coct, swap);
    assert(strcmp(id, "IDL:inap/missingParameter:1.0") == 0);
}

OBTypeCodeConst toveinap__tc_missingParameter(
"010000001600000044000000010000001e00000049444c3a696e61702f6d697373696e6750617"
"2616d657465723a312e30000000110000006d697373696e67506172616d657465720000000000"
"000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_missingParameter >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_missingParameter >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_missingParameter* p)
{
    static const OBInfo< toveinap_missingParameter > info;
    any.replace(toveinap__tc_missingParameter, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_missingParameter& val)
{
    toveinap_missingParameter* p = new toveinap_missingParameter(val);
    static const OBInfo< toveinap_missingParameter > info;
    any.replace(toveinap__tc_missingParameter, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_missingParameter*& p)
{
    if(any.check_type(toveinap__tc_missingParameter))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_missingParameter* v = new toveinap_missingParameter;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_missingParameter*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/scpRequired:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< toveinap_scpRequired >;
template class OBObjForSeq< toveinap_scpRequired >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< toveinap_scpRequired >)
#pragma define(OBObjForSeq< toveinap_scpRequired >)
#endif
#endif

void
OBDuplicate(toveinap_scpRequired_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(toveinap_scpRequired_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

toveinap_scpRequired_ptr
toveinap_scpRequired::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:inap/scpRequired:1.0");

        if(v)
            return _duplicate((toveinap_scpRequired_ptr)v);

        if(p -> _OB_remoteIsA("IDL:inap/scpRequired:1.0"))
        {
            toveinap_scpRequired_ptr val = new toveinap_scpRequired;
            val -> _OB_copyFrom(p);
            return val;
        }
    }

    return _nil();
}

void*
toveinap_scpRequired::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:inap/scpRequired:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
toveinap_scpRequired::_OB_typeId() const
{
    return "IDL:inap/scpRequired:1.0";
}

void
OBUnmarshal(toveinap_scpRequired_ptr& val, const CORBA_Octet*& coct, bool swap)
{
    toveinap_scpRequired_var old = val;
    CORBA_Object_var p;
    OBUnmarshal(p.inout(), coct, swap);

    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:inap/scpRequired:1.0");

        if(v)
            val = toveinap_scpRequired::_duplicate((toveinap_scpRequired_ptr)v);
        else
        {
            assert_nca(!(p -> _is_local() && p -> _is_dynamic()), OBNCADynamicAsStatic);
            assert(!p -> _is_local());
            val = new toveinap_scpRequired;
            val -> _OB_copyFrom(p);
        }
    }
    else
        val = toveinap_scpRequired::_nil();
}

OBTypeCodeConst toveinap__tc_scpRequired(
"010000000e00000034000000010000001900000049444c3a696e61702f7363705265717569726"
"5643a312e30000000000c000000736370526571756972656400"
);

void
operator<<=(CORBA_Any& any, toveinap_scpRequired_ptr val)
{
    OBObjAny* o = new OBObjAny;
    o -> b = CORBA_Object::_duplicate(val);
    o -> d = CORBA_Object::_duplicate(val);
    any.replace(toveinap__tc_scpRequired, o, true);
}

void
operator<<=(CORBA_Any& any, toveinap_scpRequired_ptr* val)
{
    OBObjAny* o = new OBObjAny;
    o -> b = *val;
    o -> d = CORBA_Object::_duplicate(*val);
    any.replace(toveinap__tc_scpRequired, o, true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_scpRequired_ptr& val)
{
    if(any.check_type(toveinap__tc_scpRequired))
    {
        OBObjAny* o = (OBObjAny*)any.value();
        assert(o);

        if(!CORBA_is_nil(o -> d))
        {
            void* v = o -> d -> _OB_narrowHelp("IDL:inap/scpRequired:1.0");

            if(v)
                val = (toveinap_scpRequired_ptr)v;
            else
            {
                assert_nca(!(o -> d -> _is_local() && o -> d -> _is_dynamic()), OBNCADynamicAsStatic);
                assert(!o -> d -> _is_local());
                val = new toveinap_scpRequired;
                val -> _OB_copyFrom(o -> d);
                OBObjAny* no = new OBObjAny;
                no -> b = CORBA_Object::_duplicate(o -> b);
                no -> d = val;
                ((CORBA_Any&)any).replace(toveinap__tc_scpRequired, no, true);
            }
        }
        else
            val = toveinap_scpRequired::_nil();

        return true;
    }
    else
        return false;
}

//
// IDL:inap/scpRequired/selectRoute:1.0
//
void
toveinap_scpRequired::selectRoute(const toveinap_SelectRouteArgType& _ob_a0)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

    CORBA_ULong _ob_off = _ob_clt_ -> offset(this, "selectRoute");
    CORBA_ULong _ob_cnt = _ob_off;
    OBMarshalCount(_ob_a0, _ob_cnt);

    OBBuffer _ob_buf(_ob_cnt);
    CORBA_Octet* _ob_o = _ob_buf.data + _ob_off;
    OBMarshal(_ob_a0, _ob_o);

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "selectRoute", _ob_buf, _ob_sw, _ob_ex, _ob_fo, _ob_tout_);

    const CORBA_Octet* _ob_co = _ob_buf.data + _ob_off;

    if(_ob_fo)
    {
        _OB_forward(_ob_co, _ob_sw);
        selectRoute(_ob_a0);
        return;
    }

    if(_ob_ex)
    {
        CORBA_String_var _ob_id;
        const CORBA_Octet* _ob_coid = _ob_co;
        OBUnmarshal(_ob_id.inout(), _ob_coid, _ob_sw);

        if(strcmp(_ob_id, "IDL:inap/systemFailure:1.0") == 0)
        {
            toveinap_systemFailure _ob_except;
            OBUnmarshal(_ob_except, _ob_co, _ob_sw);

            throw _ob_except;
        }
        else
            throw CORBA_UNKNOWN();
    }
}

//
// IDL:inap/scpRequired/requestReportBCSMEvent:1.0
//
void
toveinap_scpRequired::requestReportBCSMEvent(const toveinap_RequestReportBCSMEventArgType& _ob_a0)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

    CORBA_ULong _ob_off = _ob_clt_ -> offset(this, "requestReportBCSMEvent");
    CORBA_ULong _ob_cnt = _ob_off;
    OBMarshalCount(_ob_a0, _ob_cnt);

    OBBuffer _ob_buf(_ob_cnt);
    CORBA_Octet* _ob_o = _ob_buf.data + _ob_off;
    OBMarshal(_ob_a0, _ob_o);

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "requestReportBCSMEvent", _ob_buf, _ob_sw, _ob_ex, _ob_fo, _ob_tout_);

    const CORBA_Octet* _ob_co = _ob_buf.data + _ob_off;

    if(_ob_fo)
    {
        _OB_forward(_ob_co, _ob_sw);
        requestReportBCSMEvent(_ob_a0);
        return;
    }

    if(_ob_ex)
    {
        CORBA_String_var _ob_id;
        const CORBA_Octet* _ob_coid = _ob_co;
        OBUnmarshal(_ob_id.inout(), _ob_coid, _ob_sw);

        if(strcmp(_ob_id, "IDL:inap/missingParameter:1.0") == 0)
        {
            toveinap_missingParameter _ob_except;
            OBUnmarshal(_ob_except, _ob_co, _ob_sw);

            throw _ob_except;
        }
        else if(strcmp(_ob_id, "IDL:inap/parameterOutOfRange:1.0") == 0)
        {
            toveinap_parameterOutOfRange _ob_except;
            OBUnmarshal(_ob_except, _ob_co, _ob_sw);

            throw _ob_except;
        }
        else if(strcmp(_ob_id, "IDL:inap/systemFailure:1.0") == 0)
        {
            toveinap_systemFailure _ob_except;
            OBUnmarshal(_ob_except, _ob_co, _ob_sw);

            throw _ob_except;
        }
        else
            throw CORBA_UNKNOWN();
    }
}

//
// IDL:inap/scpRequired/continue:1.0
//
void
toveinap_scpRequired::_continue(const toveinap_ContinueArgType& _ob_a0)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

    CORBA_ULong _ob_off = _ob_clt_ -> offset(this, "continue");
    CORBA_ULong _ob_cnt = _ob_off;
    OBMarshalCount(_ob_a0, _ob_cnt);

    OBBuffer _ob_buf(_ob_cnt);
    CORBA_Octet* _ob_o = _ob_buf.data + _ob_off;
    OBMarshal(_ob_a0, _ob_o);

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "continue", _ob_buf, _ob_sw, _ob_ex, _ob_fo, _ob_tout_);

    if(_ob_fo)
    {
        const CORBA_Octet* _ob_co = _ob_buf.data + _ob_off;
        _OB_forward(_ob_co, _ob_sw);
        _continue(_ob_a0);
        return;
    }

    if(_ob_ex)
        throw CORBA_UNKNOWN();
}

//
// IDL:inap/ASN1_INTEGER:1.0
//
OBTypeCodeConst toveinap__tc_ASN1_INTEGER(
"01000000150000003c000000010000001a00000049444c3a696e61702f41534e315f494e54454"
"745523a312e300000000d00000041534e315f494e54454745520000000003000000"
);

//
// IDL:inap/ServiceKeyType:1.0
//
OBTypeCodeConst toveinap__tc_ServiceKeyType(
"01000000150000007c000000010000001c00000049444c3a696e61702f536572766963654b657"
"9547970653a312e30000f000000536572766963654b6579547970650000150000003c00000001"
"0000001a00000049444c3a696e61702f41534e315f494e54454745523a312e300000000d00000"
"041534e315f494e54454745520000000003000000"
);

//
// IDL:inap/MessageTypeType:1.0
//
OBTypeCodeConst toveinap__tc_MessageTypeType(
"01000000110000005d000000010000001d00000049444c3a696e61702f4d65737361676554797"
"065547970653a312e3000000000100000004d6573736167655479706554797065000200000008"
"00000072657175657374000d0000006e6f74696669636174696f6e00"
);

void
operator<<=(CORBA_Any& any, toveinap_MessageTypeType val)
{
    any.replace(toveinap__tc_MessageTypeType, new CORBA_ULong((CORBA_ULong)val), true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_MessageTypeType& val)
{
    if(any.check_type(toveinap__tc_MessageTypeType))
    {
        val = (toveinap_MessageTypeType)(*(CORBA_ULong*)any.value());
        return true;
    }
    else
        return false;
}

//
// IDL:inap/DPAssignmentType:1.0
//
OBTypeCodeConst toveinap__tc_DPAssignmentType(
"010000001100000078000000010000001e00000049444c3a696e61702f445041737369676e6d6"
"56e74547970653a312e3000000011000000445041737369676e6d656e74547970650000000003"
"0000000f000000696e646976696475616c4c696e6500000b00000067726f75704261736564000"
"00c0000006f6666696365426173656400"
);

void
operator<<=(CORBA_Any& any, toveinap_DPAssignmentType val)
{
    any.replace(toveinap__tc_DPAssignmentType, new CORBA_ULong((CORBA_ULong)val), true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_DPAssignmentType& val)
{
    if(any.check_type(toveinap__tc_DPAssignmentType))
    {
        val = (toveinap_DPAssignmentType)(*(CORBA_ULong*)any.value());
        return true;
    }
    else
        return false;
}

//
// IDL:inap/MiscCallInfoType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBFixVar< toveinap_MiscCallInfoType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBFixVar< toveinap_MiscCallInfoType >)
#endif
#endif

void
OBMarshal(const toveinap_MiscCallInfoType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.messageType, oct);
    OBMarshal(val.dpAssignment, oct);
}

void
OBMarshalCount(const toveinap_MiscCallInfoType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.messageType, count);
    OBMarshalCount(val.dpAssignment, count);
}

void
OBUnmarshal(toveinap_MiscCallInfoType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.messageType, coct, swap);
    OBUnmarshal(val.dpAssignment, coct, swap);
}

OBTypeCodeConst toveinap__tc_MiscCallInfoType(
"010000000f00000050010000010000001e00000049444c3a696e61702f4d69736343616c6c496"
"e666f547970653a312e30000000110000004d69736343616c6c496e666f547970650000000002"
"0000000c0000006d6573736167655479706500110000005d000000010000001d00000049444c3"
"a696e61702f4d65737361676554797065547970653a312e3000000000100000004d6573736167"
"65547970655479706500020000000800000072657175657374000d0000006e6f7469666963617"
"4696f6e000000000d000000647041737369676e6d656e74000000001100000078000000010000"
"001e00000049444c3a696e61702f445041737369676e6d656e74547970653a312e30000000110"
"00000445041737369676e6d656e745479706500000000030000000f000000696e646976696475"
"616c4c696e6500000b00000067726f7570426173656400000c0000006f6666696365426173656"
"400"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_MiscCallInfoType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_MiscCallInfoType >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_MiscCallInfoType* p)
{
    static const OBInfo< toveinap_MiscCallInfoType > info;
    any.replace(toveinap__tc_MiscCallInfoType, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_MiscCallInfoType& val)
{
    toveinap_MiscCallInfoType* p = new toveinap_MiscCallInfoType(val);
    static const OBInfo< toveinap_MiscCallInfoType > info;
    any.replace(toveinap__tc_MiscCallInfoType, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_MiscCallInfoType*& p)
{
    if(any.check_type(toveinap__tc_MiscCallInfoType))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_MiscCallInfoType* v = new toveinap_MiscCallInfoType;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_MiscCallInfoType*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/TriggerTypeType:1.0
//
OBTypeCodeConst toveinap__tc_TriggerTypeType(
"010000001100000050020000010000001d00000049444c3a696e61702f5472696767657254797"
"065547970653a312e30000000001000000054726967676572547970655479706500130000001a"
"000000747269676765725f6665617475726541637469766174696f6e0000001c0000007472696"
"76765725f766572746963616c53657276696365436f64650019000000747269676765725f6375"
"73746f6d697a6564416363657373000000001b000000747269676765725f637573746f6d697a6"
"564496e746572636f6d000019000000747269676765725f656d657267656e6379536572766963"
"65000000000c000000747269676765725f6146520016000000747269676765725f73686172656"
"4494f5472756e6b00000015000000747269676765725f6f6666486f6f6b44656c617900000000"
"18000000747269676765725f6368616e6e656c536574757050524900120000007472696767657"
"25f744e6f416e737765720000000e000000747269676765725f74427573790000001900000074"
"7269676765725f6f43616c6c65645061727479427573790000000012000000747269676765725"
"f6f4e6f416e7377657200000025000000747269676765725f6f726967696e6174696f6e417474"
"656d7074417574686f72697a65640000000010000000747269676765725f6f416e73776572001"
"4000000747269676765725f6f446973636f6e6e656374001e000000747269676765725f746572"
"6d417474656d7074417574686f72697a656400000010000000747269676765725f74416e73776"
"5720014000000747269676765725f74446973636f6e6e65637400"
);

void
operator<<=(CORBA_Any& any, toveinap_TriggerTypeType val)
{
    any.replace(toveinap__tc_TriggerTypeType, new CORBA_ULong((CORBA_ULong)val), true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_TriggerTypeType& val)
{
    if(any.check_type(toveinap__tc_TriggerTypeType))
    {
        val = (toveinap_TriggerTypeType)(*(CORBA_ULong*)any.value());
        return true;
    }
    else
        return false;
}

//
// IDL:inap/InitialDPArgType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< toveinap_InitialDPArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< toveinap_InitialDPArgType >)
#endif
#endif

#ifdef OB_CLEAR_MEM
toveinap_InitialDPArgType::toveinap_InitialDPArgType()
{
    memset(&serviceKey, 0, sizeof(serviceKey));
    memset(&miscCallInfo, 0, sizeof(miscCallInfo));
    memset(&triggerType, 0, sizeof(triggerType));
    memset(&eventTypeBCSM, 0, sizeof(eventTypeBCSM));
}
#endif

toveinap_InitialDPArgType::toveinap_InitialDPArgType(const toveinap_InitialDPArgType& _ob_a)
    : callID(_ob_a.callID),
      serviceKey(_ob_a.serviceKey),
      calledPartyNumber(_ob_a.calledPartyNumber),
      miscCallInfo(_ob_a.miscCallInfo),
      triggerType(_ob_a.triggerType),
      eventTypeBCSM(_ob_a.eventTypeBCSM)
{
}

toveinap_InitialDPArgType&
toveinap_InitialDPArgType::operator=(const toveinap_InitialDPArgType& _ob_a)
{
    if(this != &_ob_a)
    {
        callID = _ob_a.callID;
        serviceKey = _ob_a.serviceKey;
        calledPartyNumber = _ob_a.calledPartyNumber;
        miscCallInfo = _ob_a.miscCallInfo;
        triggerType = _ob_a.triggerType;
        eventTypeBCSM = _ob_a.eventTypeBCSM;
    }
    return *this;
}

void
OBMarshal(const toveinap_InitialDPArgType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.callID, oct);
    OBMarshal(val.serviceKey, oct);
    OBMarshal(val.calledPartyNumber, oct);
    OBMarshal(val.miscCallInfo, oct);
    OBMarshal(val.triggerType, oct);
    OBMarshal(val.eventTypeBCSM, oct);
}

void
OBMarshalCount(const toveinap_InitialDPArgType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.callID, count);
    OBMarshalCount(val.serviceKey, count);
    OBMarshalCount(val.calledPartyNumber, count);
    OBMarshalCount(val.miscCallInfo, count);
    OBMarshalCount(val.triggerType, count);
    OBMarshalCount(val.eventTypeBCSM, count);
}

void
OBUnmarshal(toveinap_InitialDPArgType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.callID, coct, swap);
    OBUnmarshal(val.serviceKey, coct, swap);
    OBUnmarshal(val.calledPartyNumber, coct, swap);
    OBUnmarshal(val.miscCallInfo, coct, swap);
    OBUnmarshal(val.triggerType, coct, swap);
    OBUnmarshal(val.eventTypeBCSM, coct, swap);
}

OBTypeCodeConst toveinap__tc_InitialDPArgType(
"010000000f00000057070000010000001e00000049444c3a696e61702f496e697469616c44504"
"17267547970653a312e3000000011000000496e697469616c4450417267547970650000000006"
"0000000700000063616c6c494400001500000044000000010000001800000049444c3a696e617"
"02f43616c6c4944547970653a312e30000b00000043616c6c4944547970650000130000000c00"
"0000010000000a000000040000000b000000736572766963654b65790000150000007c0000000"
"10000001c00000049444c3a696e61702f536572766963654b6579547970653a312e30000f0000"
"00536572766963654b6579547970650000150000003c000000010000001a00000049444c3a696"
"e61702f41534e315f494e54454745523a312e300000000d00000041534e315f494e5445474552"
"00000000030000001200000063616c6c656450617274794e756d626572000000150000005c000"
"000010000002300000049444c3a696e61702f43616c6c656450617274794e756d626572547970"
"653a312e3000001600000043616c6c656450617274794e756d626572547970650000001300000"
"00c000000010000000a000000320000000d0000006d69736343616c6c496e666f000000000f00"
"000050010000010000001e00000049444c3a696e61702f4d69736343616c6c496e666f5479706"
"53a312e30000000110000004d69736343616c6c496e666f5479706500000000020000000c0000"
"006d6573736167655479706500110000005d000000010000001d00000049444c3a696e61702f4"
"d65737361676554797065547970653a312e3000000000100000004d6573736167655479706554"
"79706500020000000800000072657175657374000d0000006e6f74696669636174696f6e00000"
"0000d000000647041737369676e6d656e74000000001100000078000000010000001e00000049"
"444c3a696e61702f445041737369676e6d656e74547970653a312e30000000110000004450417"
"37369676e6d656e745479706500000000030000000f000000696e646976696475616c4c696e65"
"00000b00000067726f7570426173656400000c0000006f66666963654261736564000c0000007"
"472696767657254797065001100000050020000010000001d00000049444c3a696e61702f5472"
"696767657254797065547970653a312e300000000010000000547269676765725479706554797"
"06500130000001a000000747269676765725f6665617475726541637469766174696f6e000000"
"1c000000747269676765725f766572746963616c53657276696365436f6465001900000074726"
"9676765725f637573746f6d697a6564416363657373000000001b000000747269676765725f63"
"7573746f6d697a6564496e746572636f6d000019000000747269676765725f656d657267656e6"
"37953657276696365000000000c000000747269676765725f6146520016000000747269676765"
"725f736861726564494f5472756e6b00000015000000747269676765725f6f6666486f6f6b446"
"56c61790000000018000000747269676765725f6368616e6e656c536574757050524900120000"
"00747269676765725f744e6f416e737765720000000e000000747269676765725f74427573790"
"0000019000000747269676765725f6f43616c6c65645061727479427573790000000012000000"
"747269676765725f6f4e6f416e7377657200000025000000747269676765725f6f726967696e6"
"174696f6e417474656d7074417574686f72697a65640000000010000000747269676765725f6f"
"416e737765720014000000747269676765725f6f446973636f6e6e656374001e0000007472696"
"76765725f7465726d417474656d7074417574686f72697a656400000010000000747269676765"
"725f74416e737765720014000000747269676765725f74446973636f6e6e656374000e0000006"
"576656e74547970654243534d00000011000000bb010000010000001f00000049444c3a696e61"
"702f4576656e74547970654243534d547970653a312e300000120000004576656e74547970654"
"243534d54797065000000150000000c0000006f726967417474656d707400160000006f726967"
"417474656d7074417574686f72697a65640000000e000000636f6c6c6563746564496e666f000"
"00014000000616e616c79736564496e666f726d6174696f6e0013000000726f75746553656c65"
"63744661696c7572650000110000006f43616c6c6564506172747942757379000000000a00000"
"06f4e6f416e73776572000000080000006f416e7377657200090000006f4d696443616c6c0000"
"00000c0000006f446973636f6e6e65637400090000006f4162616e646f6e00000000160000007"
"465726d417474656d7074417574686f72697a65640000000600000074427573790000000a0000"
"00744e6f416e737765720000000800000074416e737765720009000000744d696443616c6c000"
"000000c00000074446973636f6e6e6563740009000000744162616e646f6e000000000c000000"
"6f5465726d5365697a6564000b0000006f53757370656e64656400000b0000007453757370656"
"e64656400"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_InitialDPArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_InitialDPArgType >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_InitialDPArgType* p)
{
    static const OBInfo< toveinap_InitialDPArgType > info;
    any.replace(toveinap__tc_InitialDPArgType, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_InitialDPArgType& val)
{
    toveinap_InitialDPArgType* p = new toveinap_InitialDPArgType(val);
    static const OBInfo< toveinap_InitialDPArgType > info;
    any.replace(toveinap__tc_InitialDPArgType, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_InitialDPArgType*& p)
{
    if(any.check_type(toveinap__tc_InitialDPArgType))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_InitialDPArgType* v = new toveinap_InitialDPArgType;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_InitialDPArgType*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/EventReportBCSMArgType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< toveinap_EventReportBCSMArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< toveinap_EventReportBCSMArgType >)
#endif
#endif

#ifdef OB_CLEAR_MEM
toveinap_EventReportBCSMArgType::toveinap_EventReportBCSMArgType()
{
    memset(&eventTypeBCSM, 0, sizeof(eventTypeBCSM));
    memset(&miscCallInfo, 0, sizeof(miscCallInfo));
}
#endif

toveinap_EventReportBCSMArgType::toveinap_EventReportBCSMArgType(const toveinap_EventReportBCSMArgType& _ob_a)
    : callID(_ob_a.callID),
      eventTypeBCSM(_ob_a.eventTypeBCSM),
      miscCallInfo(_ob_a.miscCallInfo)
{
}

toveinap_EventReportBCSMArgType&
toveinap_EventReportBCSMArgType::operator=(const toveinap_EventReportBCSMArgType& _ob_a)
{
    if(this != &_ob_a)
    {
        callID = _ob_a.callID;
        eventTypeBCSM = _ob_a.eventTypeBCSM;
        miscCallInfo = _ob_a.miscCallInfo;
    }
    return *this;
}

void
OBMarshal(const toveinap_EventReportBCSMArgType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.callID, oct);
    OBMarshal(val.eventTypeBCSM, oct);
    OBMarshal(val.miscCallInfo, oct);
}

void
OBMarshalCount(const toveinap_EventReportBCSMArgType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.callID, count);
    OBMarshalCount(val.eventTypeBCSM, count);
    OBMarshalCount(val.miscCallInfo, count);
}

void
OBUnmarshal(toveinap_EventReportBCSMArgType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.callID, coct, swap);
    OBUnmarshal(val.eventTypeBCSM, coct, swap);
    OBUnmarshal(val.miscCallInfo, coct, swap);
}

OBTypeCodeConst toveinap__tc_EventReportBCSMArgType(
"010000000f000000e8030000010000002400000049444c3a696e61702f4576656e745265706f7"
"2744243534d417267547970653a312e3000170000004576656e745265706f72744243534d4172"
"67547970650000030000000700000063616c6c494400001500000044000000010000001800000"
"049444c3a696e61702f43616c6c4944547970653a312e30000b00000043616c6c494454797065"
"0000130000000c000000010000000a000000040000000e0000006576656e74547970654243534"
"d00000011000000bb010000010000001f00000049444c3a696e61702f4576656e745479706542"
"43534d547970653a312e300000120000004576656e74547970654243534d54797065000000150"
"000000c0000006f726967417474656d707400160000006f726967417474656d7074417574686f"
"72697a65640000000e000000636f6c6c6563746564496e666f00000014000000616e616c79736"
"564496e666f726d6174696f6e0013000000726f75746553656c6563744661696c757265000011"
"0000006f43616c6c6564506172747942757379000000000a0000006f4e6f416e7377657200000"
"0080000006f416e7377657200090000006f4d696443616c6c000000000c0000006f446973636f"
"6e6e65637400090000006f4162616e646f6e00000000160000007465726d417474656d7074417"
"574686f72697a65640000000600000074427573790000000a000000744e6f416e737765720000"
"000800000074416e737765720009000000744d696443616c6c000000000c00000074446973636"
"f6e6e6563740009000000744162616e646f6e000000000c0000006f5465726d5365697a656400"
"0b0000006f53757370656e64656400000b0000007453757370656e64656400000d0000006d697"
"36343616c6c496e666f000000000f00000050010000010000001e00000049444c3a696e61702f"
"4d69736343616c6c496e666f547970653a312e30000000110000004d69736343616c6c496e666"
"f5479706500000000020000000c0000006d6573736167655479706500110000005d0000000100"
"00001d00000049444c3a696e61702f4d65737361676554797065547970653a312e30000000001"
"00000004d657373616765547970655479706500020000000800000072657175657374000d0000"
"006e6f74696669636174696f6e000000000d000000647041737369676e6d656e7400000000110"
"0000078000000010000001e00000049444c3a696e61702f445041737369676e6d656e74547970"
"653a312e3000000011000000445041737369676e6d656e745479706500000000030000000f000"
"000696e646976696475616c4c696e6500000b00000067726f7570426173656400000c0000006f"
"6666696365426173656400"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_EventReportBCSMArgType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_EventReportBCSMArgType >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_EventReportBCSMArgType* p)
{
    static const OBInfo< toveinap_EventReportBCSMArgType > info;
    any.replace(toveinap__tc_EventReportBCSMArgType, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_EventReportBCSMArgType& val)
{
    toveinap_EventReportBCSMArgType* p = new toveinap_EventReportBCSMArgType(val);
    static const OBInfo< toveinap_EventReportBCSMArgType > info;
    any.replace(toveinap__tc_EventReportBCSMArgType, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_EventReportBCSMArgType*& p)
{
    if(any.check_type(toveinap__tc_EventReportBCSMArgType))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_EventReportBCSMArgType* v = new toveinap_EventReportBCSMArgType;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_EventReportBCSMArgType*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/missingCustomerRecord:1.0
//
toveinap_missingCustomerRecord::toveinap_missingCustomerRecord(const toveinap_missingCustomerRecord& _ob_a)
    : CORBA_UserException(_ob_a)
{
}

toveinap_missingCustomerRecord&
toveinap_missingCustomerRecord::operator=(const toveinap_missingCustomerRecord&)
{
    return *this;
}

toveinap_missingCustomerRecord*
toveinap_missingCustomerRecord::_narrow(CORBA_Exception* p)
{
#ifdef HAVE_NO_RTTI
    if(p)
        return (toveinap_missingCustomerRecord*)(p -> _OB_narrowHelp("IDL:inap/missingCustomerRecord:1.0"));
    else
        return 0;
#else
    return dynamic_cast<toveinap_missingCustomerRecord*>(p);
#endif
}

#ifdef HAVE_NO_RTTI
void*
toveinap_missingCustomerRecord::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:inap/missingCustomerRecord:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_UserException::_OB_narrowHelp(_ob_id);
}
#endif

const char*
toveinap_missingCustomerRecord::_OB_typeId() const
{
    return "IDL:inap/missingCustomerRecord:1.0";
}

CORBA_Exception*
toveinap_missingCustomerRecord::_OB_clone() const
{
    return new toveinap_missingCustomerRecord(*this);
}

void
OBMarshal(const toveinap_missingCustomerRecord&, CORBA_Octet*& oct)
{
    OBMarshal("IDL:inap/missingCustomerRecord:1.0", oct);
}

void
OBMarshalCount(const toveinap_missingCustomerRecord&, CORBA_ULong& count)
{
    OBMarshalCount("IDL:inap/missingCustomerRecord:1.0", count);
}

void
OBUnmarshal(toveinap_missingCustomerRecord&, const CORBA_Octet*& coct, bool swap)
{
    CORBA_String_var id;
    OBUnmarshal(id.inout(), coct, swap);
    assert(strcmp(id, "IDL:inap/missingCustomerRecord:1.0") == 0);
}

OBTypeCodeConst toveinap__tc_missingCustomerRecord(
"01000000160000004c000000010000002300000049444c3a696e61702f6d697373696e6743757"
"3746f6d65725265636f72643a312e300000160000006d697373696e67437573746f6d65725265"
"636f726400000000000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< toveinap_missingCustomerRecord >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< toveinap_missingCustomerRecord >)
#endif
#endif

void
operator<<=(CORBA_Any& any, toveinap_missingCustomerRecord* p)
{
    static const OBInfo< toveinap_missingCustomerRecord > info;
    any.replace(toveinap__tc_missingCustomerRecord, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const toveinap_missingCustomerRecord& val)
{
    toveinap_missingCustomerRecord* p = new toveinap_missingCustomerRecord(val);
    static const OBInfo< toveinap_missingCustomerRecord > info;
    any.replace(toveinap__tc_missingCustomerRecord, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_missingCustomerRecord*& p)
{
    if(any.check_type(toveinap__tc_missingCustomerRecord))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            toveinap_missingCustomerRecord* v = new toveinap_missingCustomerRecord;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (toveinap_missingCustomerRecord*)any.value();
        return true;
    }
    else
        return false;
}

//
// IDL:inap/scpSupported:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< toveinap_scpSupported >;
template class OBObjForSeq< toveinap_scpSupported >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< toveinap_scpSupported >)
#pragma define(OBObjForSeq< toveinap_scpSupported >)
#endif
#endif

void
OBDuplicate(toveinap_scpSupported_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(toveinap_scpSupported_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

toveinap_scpSupported_ptr
toveinap_scpSupported::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:inap/scpSupported:1.0");

        if(v)
            return _duplicate((toveinap_scpSupported_ptr)v);

        if(p -> _OB_remoteIsA("IDL:inap/scpSupported:1.0"))
        {
            toveinap_scpSupported_ptr val = new toveinap_scpSupported;
            val -> _OB_copyFrom(p);
            return val;
        }
    }

    return _nil();
}

void*
toveinap_scpSupported::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:inap/scpSupported:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
toveinap_scpSupported::_OB_typeId() const
{
    return "IDL:inap/scpSupported:1.0";
}

void
OBUnmarshal(toveinap_scpSupported_ptr& val, const CORBA_Octet*& coct, bool swap)
{
    toveinap_scpSupported_var old = val;
    CORBA_Object_var p;
    OBUnmarshal(p.inout(), coct, swap);

    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:inap/scpSupported:1.0");

        if(v)
            val = toveinap_scpSupported::_duplicate((toveinap_scpSupported_ptr)v);
        else
        {
            assert_nca(!(p -> _is_local() && p -> _is_dynamic()), OBNCADynamicAsStatic);
            assert(!p -> _is_local());
            val = new toveinap_scpSupported;
            val -> _OB_copyFrom(p);
        }
    }
    else
        val = toveinap_scpSupported::_nil();
}

OBTypeCodeConst toveinap__tc_scpSupported(
"010000000e00000035000000010000001a00000049444c3a696e61702f736370537570706f727"
"465643a312e300000000d000000736370537570706f7274656400"
);

void
operator<<=(CORBA_Any& any, toveinap_scpSupported_ptr val)
{
    OBObjAny* o = new OBObjAny;
    o -> b = CORBA_Object::_duplicate(val);
    o -> d = CORBA_Object::_duplicate(val);
    any.replace(toveinap__tc_scpSupported, o, true);
}

void
operator<<=(CORBA_Any& any, toveinap_scpSupported_ptr* val)
{
    OBObjAny* o = new OBObjAny;
    o -> b = *val;
    o -> d = CORBA_Object::_duplicate(*val);
    any.replace(toveinap__tc_scpSupported, o, true);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, toveinap_scpSupported_ptr& val)
{
    if(any.check_type(toveinap__tc_scpSupported))
    {
        OBObjAny* o = (OBObjAny*)any.value();
        assert(o);

        if(!CORBA_is_nil(o -> d))
        {
            void* v = o -> d -> _OB_narrowHelp("IDL:inap/scpSupported:1.0");

            if(v)
                val = (toveinap_scpSupported_ptr)v;
            else
            {
                assert_nca(!(o -> d -> _is_local() && o -> d -> _is_dynamic()), OBNCADynamicAsStatic);
                assert(!o -> d -> _is_local());
                val = new toveinap_scpSupported;
                val -> _OB_copyFrom(o -> d);
                OBObjAny* no = new OBObjAny;
                no -> b = CORBA_Object::_duplicate(o -> b);
                no -> d = val;
                ((CORBA_Any&)any).replace(toveinap__tc_scpSupported, no, true);
            }
        }
        else
            val = toveinap_scpSupported::_nil();

        return true;
    }
    else
        return false;
}

//
// IDL:inap/scpSupported/initialDP:1.0
//
void
toveinap_scpSupported::initialDP(const toveinap_InitialDPArgType& _ob_a0)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

    CORBA_ULong _ob_off = _ob_clt_ -> offset(this, "initialDP");
    CORBA_ULong _ob_cnt = _ob_off;
    OBMarshalCount(_ob_a0, _ob_cnt);

    OBBuffer _ob_buf(_ob_cnt);
    CORBA_Octet* _ob_o = _ob_buf.data + _ob_off;
    OBMarshal(_ob_a0, _ob_o);

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "initialDP", _ob_buf, _ob_sw, _ob_ex, _ob_fo, _ob_tout_);

    const CORBA_Octet* _ob_co = _ob_buf.data + _ob_off;

    if(_ob_fo)
    {
        _OB_forward(_ob_co, _ob_sw);
        initialDP(_ob_a0);
        return;
    }

    if(_ob_ex)
    {
        CORBA_String_var _ob_id;
        const CORBA_Octet* _ob_coid = _ob_co;
        OBUnmarshal(_ob_id.inout(), _ob_coid, _ob_sw);

        if(strcmp(_ob_id, "IDL:inap/missingCustomerRecord:1.0") == 0)
        {
            toveinap_missingCustomerRecord _ob_except;
            OBUnmarshal(_ob_except, _ob_co, _ob_sw);

            throw _ob_except;
        }
        else if(strcmp(_ob_id, "IDL:inap/systemFailure:1.0") == 0)
        {
            toveinap_systemFailure _ob_except;
            OBUnmarshal(_ob_except, _ob_co, _ob_sw);

            throw _ob_except;
        }
        else
            throw CORBA_UNKNOWN();
    }
}

//
// IDL:inap/scpSupported/eventReportBCSM:1.0
//
void
toveinap_scpSupported::eventReportBCSM(const toveinap_EventReportBCSMArgType& _ob_a0)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

    CORBA_ULong _ob_off = _ob_clt_ -> offset(this, "eventReportBCSM");
    CORBA_ULong _ob_cnt = _ob_off;
    OBMarshalCount(_ob_a0, _ob_cnt);

    OBBuffer _ob_buf(_ob_cnt);
    CORBA_Octet* _ob_o = _ob_buf.data + _ob_off;
    OBMarshal(_ob_a0, _ob_o);

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "eventReportBCSM", _ob_buf, _ob_sw, _ob_ex, _ob_fo, _ob_tout_);

    if(_ob_fo)
    {
        const CORBA_Octet* _ob_co = _ob_buf.data + _ob_off;
        _OB_forward(_ob_co, _ob_sw);
        eventReportBCSM(_ob_a0);
        return;
    }

    if(_ob_ex)
        throw CORBA_UNKNOWN();
}

//
// OBBndFixSeq< OBUnsignedChar, 4 >
//
#ifdef OB_use_OBBndFixSeq_OBUnsignedChar_4_from_toveinap_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBBndFixSeq< OBUnsignedChar, 4 >;
template class OBSeqVar< OBBndFixSeq< OBUnsignedChar, 4 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBBndFixSeq< OBUnsignedChar, 4 >)
#pragma define(OBSeqVar< OBBndFixSeq< OBUnsignedChar, 4 > >)
#endif
#endif

void
OBMarshal(const OBBndFixSeq< OBUnsignedChar, 4 >& seq, CORBA_Octet*& oct)
{
    OBMarshal(seq.length(), oct);
    OBMarshalMulti(seq.data(), oct, seq.length());
}

void
OBMarshalCount(const OBBndFixSeq< OBUnsignedChar, 4 >& seq, CORBA_ULong& count)
{
    OBMarshalCount(seq.length(), count);
    OBMarshalCountMulti(seq.data(), count, seq.length());
}

void
OBUnmarshal(OBBndFixSeq< OBUnsignedChar, 4 >& seq, const CORBA_Octet*& coct, bool swap)
{
    CORBA_ULong len;
    OBUnmarshal(len, coct, swap);
    seq.length(len);
    OBUnmarshalMulti(seq.data(), coct, swap, len);
}

static OBTypeCodeConst _tc_OBBndFixSeq_OBUnsignedChar_4(
"01000000130000000c000000010000000a00000004000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< OBBndFixSeq< OBUnsignedChar, 4 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< OBBndFixSeq< OBUnsignedChar, 4 > >)
#endif
#endif

void
operator<<=(CORBA_Any& any, OBBndFixSeq< OBUnsignedChar, 4 >* p)
{
    static const OBInfo< OBBndFixSeq< OBUnsignedChar, 4 > > info;
    any.replace(_tc_OBBndFixSeq_OBUnsignedChar_4, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const OBBndFixSeq< OBUnsignedChar, 4 >& seq)
{
    static const OBInfo< OBBndFixSeq< OBUnsignedChar, 4 > > info;
    OBBndFixSeq< OBUnsignedChar, 4 >* p = new OBBndFixSeq< OBUnsignedChar, 4 >(seq);
    any.replace(_tc_OBBndFixSeq_OBUnsignedChar_4, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, OBBndFixSeq< OBUnsignedChar, 4 >*& p)
{
    if(any.check_type(_tc_OBBndFixSeq_OBUnsignedChar_4))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            OBBndFixSeq< OBUnsignedChar, 4 >* v = new OBBndFixSeq< OBUnsignedChar, 4 >;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (OBBndFixSeq< OBUnsignedChar, 4 >*)any.value();
        return true;
    }
    else
        return false;
}

#endif

//
// OBBndFixSeq< OBUnsignedChar, 50 >
//
#ifdef OB_use_OBBndFixSeq_OBUnsignedChar_50_from_toveinap_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBBndFixSeq< OBUnsignedChar, 50 >;
template class OBSeqVar< OBBndFixSeq< OBUnsignedChar, 50 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBBndFixSeq< OBUnsignedChar, 50 >)
#pragma define(OBSeqVar< OBBndFixSeq< OBUnsignedChar, 50 > >)
#endif
#endif

void
OBMarshal(const OBBndFixSeq< OBUnsignedChar, 50 >& seq, CORBA_Octet*& oct)
{
    OBMarshal(seq.length(), oct);
    OBMarshalMulti(seq.data(), oct, seq.length());
}

void
OBMarshalCount(const OBBndFixSeq< OBUnsignedChar, 50 >& seq, CORBA_ULong& count)
{
    OBMarshalCount(seq.length(), count);
    OBMarshalCountMulti(seq.data(), count, seq.length());
}

void
OBUnmarshal(OBBndFixSeq< OBUnsignedChar, 50 >& seq, const CORBA_Octet*& coct, bool swap)
{
    CORBA_ULong len;
    OBUnmarshal(len, coct, swap);
    seq.length(len);
    OBUnmarshalMulti(seq.data(), coct, swap, len);
}

static OBTypeCodeConst _tc_OBBndFixSeq_OBUnsignedChar_50(
"01000000130000000c000000010000000a00000032000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< OBBndFixSeq< OBUnsignedChar, 50 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< OBBndFixSeq< OBUnsignedChar, 50 > >)
#endif
#endif

void
operator<<=(CORBA_Any& any, OBBndFixSeq< OBUnsignedChar, 50 >* p)
{
    static const OBInfo< OBBndFixSeq< OBUnsignedChar, 50 > > info;
    any.replace(_tc_OBBndFixSeq_OBUnsignedChar_50, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const OBBndFixSeq< OBUnsignedChar, 50 >& seq)
{
    static const OBInfo< OBBndFixSeq< OBUnsignedChar, 50 > > info;
    OBBndFixSeq< OBUnsignedChar, 50 >* p = new OBBndFixSeq< OBUnsignedChar, 50 >(seq);
    any.replace(_tc_OBBndFixSeq_OBUnsignedChar_50, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, OBBndFixSeq< OBUnsignedChar, 50 >*& p)
{
    if(any.check_type(_tc_OBBndFixSeq_OBUnsignedChar_50))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            OBBndFixSeq< OBUnsignedChar, 50 >* v = new OBBndFixSeq< OBUnsignedChar, 50 >;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (OBBndFixSeq< OBUnsignedChar, 50 >*)any.value();
        return true;
    }
    else
        return false;
}

#endif

//
// OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >
//
#ifdef OB_use_OBBndVarSeq_OBBndFixSeq_OBUnsignedChar_50_3_from_toveinap_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >;
template class OBSeqVar< OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >)
#pragma define(OBSeqVar< OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 > >)
#endif
#endif

void
OBMarshal(const OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >& seq, CORBA_Octet*& oct)
{
    OBMarshal(seq.length(), oct);
    for(CORBA_ULong i = 0 ; i < seq.length() ; i++)
        OBMarshal(seq[i], oct);
}

void
OBMarshalCount(const OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >& seq, CORBA_ULong& count)
{
    OBMarshalCount(seq.length(), count);
    for(CORBA_ULong i = 0 ; i < seq.length() ; i++)
        OBMarshalCount(seq[i], count);
}

void
OBUnmarshal(OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >& seq, const CORBA_Octet*& coct, bool swap)
{
    CORBA_ULong len;
    OBUnmarshal(len, coct, swap);
    seq.length(len);
    for(CORBA_ULong i = 0 ; i < len ; i++)
        OBUnmarshal(seq[i], coct, swap);
}

static OBTypeCodeConst _tc_OBBndVarSeq_OBBndFixSeq_OBUnsignedChar_50_3(
"01000000130000006c00000001000000150000005c000000010000002300000049444c3a696e6"
"1702f43616c6c656450617274794e756d626572547970653a312e3000001600000043616c6c65"
"6450617274794e756d62657254797065000000130000000c000000010000000a0000003200000"
"003000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 > >)
#endif
#endif

void
operator<<=(CORBA_Any& any, OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >* p)
{
    static const OBInfo< OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 > > info;
    any.replace(_tc_OBBndVarSeq_OBBndFixSeq_OBUnsignedChar_50_3, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >& seq)
{
    static const OBInfo< OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 > > info;
    OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >* p = new OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >(seq);
    any.replace(_tc_OBBndVarSeq_OBBndFixSeq_OBUnsignedChar_50_3, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >*& p)
{
    if(any.check_type(_tc_OBBndVarSeq_OBBndFixSeq_OBUnsignedChar_50_3))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >* v = new OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (OBBndVarSeq< OBBndFixSeq< OBUnsignedChar, 50 >, 3 >*)any.value();
        return true;
    }
    else
        return false;
}

#endif

//
// OBBndFixSeq< toveinap_BCSMEventType, 24 >
//
#ifdef OB_use_OBBndFixSeq_toveinap__BCSMEventType_24_from_toveinap_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBBndFixSeq< toveinap_BCSMEventType, 24 >;
template class OBSeqVar< OBBndFixSeq< toveinap_BCSMEventType, 24 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBBndFixSeq< toveinap_BCSMEventType, 24 >)
#pragma define(OBSeqVar< OBBndFixSeq< toveinap_BCSMEventType, 24 > >)
#endif
#endif

void
OBMarshal(const OBBndFixSeq< toveinap_BCSMEventType, 24 >& seq, CORBA_Octet*& oct)
{
    OBMarshal(seq.length(), oct);
    for(CORBA_ULong i = 0 ; i < seq.length() ; i++)
        OBMarshal(seq[i], oct);
}

void
OBMarshalCount(const OBBndFixSeq< toveinap_BCSMEventType, 24 >& seq, CORBA_ULong& count)
{
    OBMarshalCount(seq.length(), count);
    for(CORBA_ULong i = 0 ; i < seq.length() ; i++)
        OBMarshalCount(seq[i], count);
}

void
OBUnmarshal(OBBndFixSeq< toveinap_BCSMEventType, 24 >& seq, const CORBA_Octet*& coct, bool swap)
{
    CORBA_ULong len;
    OBUnmarshal(len, coct, swap);
    seq.length(len);
    for(CORBA_ULong i = 0 ; i < len ; i++)
        OBUnmarshal(seq[i], coct, swap);
}

static OBTypeCodeConst _tc_OBBndFixSeq_toveinap__BCSMEventType_24(
"0100000013000000b4020000010000000f000000a4020000010000001b00000049444c3a696e6"
"1702f4243534d4576656e74547970653a312e3000000e0000004243534d4576656e7454797065"
"000000020000000e0000006576656e74547970654243534d00000011000000bb0100000100000"
"01f00000049444c3a696e61702f4576656e74547970654243534d547970653a312e3000001200"
"00004576656e74547970654243534d54797065000000150000000c0000006f726967417474656"
"d707400160000006f726967417474656d7074417574686f72697a65640000000e000000636f6c"
"6c6563746564496e666f00000014000000616e616c79736564496e666f726d6174696f6e00130"
"00000726f75746553656c6563744661696c7572650000110000006f43616c6c65645061727479"
"42757379000000000a0000006f4e6f416e73776572000000080000006f416e737765720009000"
"0006f4d696443616c6c000000000c0000006f446973636f6e6e65637400090000006f4162616e"
"646f6e00000000160000007465726d417474656d7074417574686f72697a65640000000600000"
"074427573790000000a000000744e6f416e737765720000000800000074416e73776572000900"
"0000744d696443616c6c000000000c00000074446973636f6e6e6563740009000000744162616"
"e646f6e000000000c0000006f5465726d5365697a6564000b0000006f53757370656e64656400"
"000b0000007453757370656e64656400000c0000006d6f6e69746f724d6f64650011000000780"
"00000010000001d00000049444c3a696e61702f4d6f6e69746f724d6f6465547970653a312e30"
"00000000100000004d6f6e69746f724d6f64655479706500030000000c000000696e746572727"
"57074656400120000006e6f74696679416e64436f6e74696e75650000000c0000007472616e73"
"706172656e740018000000"
);

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBInfo< OBBndFixSeq< toveinap_BCSMEventType, 24 > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBInfo< OBBndFixSeq< toveinap_BCSMEventType, 24 > >)
#endif
#endif

void
operator<<=(CORBA_Any& any, OBBndFixSeq< toveinap_BCSMEventType, 24 >* p)
{
    static const OBInfo< OBBndFixSeq< toveinap_BCSMEventType, 24 > > info;
    any.replace(_tc_OBBndFixSeq_toveinap__BCSMEventType_24, p, true, &info);
}

void
operator<<=(CORBA_Any& any, const OBBndFixSeq< toveinap_BCSMEventType, 24 >& seq)
{
    static const OBInfo< OBBndFixSeq< toveinap_BCSMEventType, 24 > > info;
    OBBndFixSeq< toveinap_BCSMEventType, 24 >* p = new OBBndFixSeq< toveinap_BCSMEventType, 24 >(seq);
    any.replace(_tc_OBBndFixSeq_toveinap__BCSMEventType_24, p, true, &info);
}

CORBA_Boolean
operator>>=(const CORBA_Any& any, OBBndFixSeq< toveinap_BCSMEventType, 24 >*& p)
{
    if(any.check_type(_tc_OBBndFixSeq_toveinap__BCSMEventType_24))
    {
        if(!any.info())
        {
            const OBBuffer* bufp = (const OBBuffer*)any.value();
            const CORBA_Octet* coct = bufp -> data;
            OBBndFixSeq< toveinap_BCSMEventType, 24 >* v = new OBBndFixSeq< toveinap_BCSMEventType, 24 >;
            OBUnmarshal(*v, coct, false);
            (CORBA_Any&)any <<= v;
        }

        p = (OBBndFixSeq< toveinap_BCSMEventType, 24 >*)any.value();
        return true;
    }
    else
        return false;
}

#endif
