// **********************************************************************
//
// 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 "ccif.h"

//
// IDL:idl.tove/ccIf/Side:1.0
//
OBTypeCodeConst ccIf__tc_Side(
"010000001100000054000000010000001b00000049444c3a69646c2e746f76652f636349662f5"
"36964653a312e300000050000005369646500000000020000000c0000006f726967696e617469"
"6e67000c0000007465726d696e6174696e6700"
);

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

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

//
// IDL:idl.tove/ccIf/TriggerType:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< ccIf_TriggerType >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< ccIf_TriggerType >)
#endif
#endif

#ifdef OB_CLEAR_MEM
ccIf_TriggerType::ccIf_TriggerType()
{
    memset(&serviceKey, 0, sizeof(serviceKey));
}
#endif

ccIf_TriggerType::ccIf_TriggerType(const ccIf_TriggerType& _ob_a)
    : type(_ob_a.type),
      criteria(_ob_a.criteria),
      category(_ob_a.category),
      address(_ob_a.address),
      applicationContext(_ob_a.applicationContext),
      serviceKey(_ob_a.serviceKey)
{
}

ccIf_TriggerType&
ccIf_TriggerType::operator=(const ccIf_TriggerType& _ob_a)
{
    if(this != &_ob_a)
    {
        type = _ob_a.type;
        criteria = _ob_a.criteria;
        category = _ob_a.category;
        address = _ob_a.address;
        applicationContext = _ob_a.applicationContext;
        serviceKey = _ob_a.serviceKey;
    }
    return *this;
}

void
OBMarshal(const ccIf_TriggerType& val, CORBA_Octet*& oct)
{
    OBMarshal(val.type.in(), oct);
    OBMarshal(val.criteria.in(), oct);
    OBMarshal(val.category.in(), oct);
    OBMarshal(val.address.in(), oct);
    OBMarshal(val.applicationContext.in(), oct);
    OBMarshal(val.serviceKey, oct);
}

void
OBMarshalCount(const ccIf_TriggerType& val, CORBA_ULong& count)
{
    OBMarshalCount(val.type.in(), count);
    OBMarshalCount(val.criteria.in(), count);
    OBMarshalCount(val.category.in(), count);
    OBMarshalCount(val.address.in(), count);
    OBMarshalCount(val.applicationContext.in(), count);
    OBMarshalCount(val.serviceKey, count);
}

void
OBUnmarshal(ccIf_TriggerType& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.type.inout(), coct, swap);
    OBUnmarshal(val.criteria.inout(), coct, swap);
    OBUnmarshal(val.category.inout(), coct, swap);
    OBUnmarshal(val.address.inout(), coct, swap);
    OBUnmarshal(val.applicationContext.inout(), coct, swap);
    OBUnmarshal(val.serviceKey, coct, swap);
}

OBTypeCodeConst ccIf__tc_TriggerType(
"010000000f00000054010000010000002200000049444c3a69646c2e746f76652f636349662f5"
"4726967676572547970653a312e300000000c0000005472696767657254797065000600000005"
"00000074797065000000001200000000000000090000006372697465726961000000001200000"
"0000000000900000063617465676f727900000000120000000000000008000000616464726573"
"73001200000000000000130000006170706c69636174696f6e436f6e746578740000120000000"
"00000000b000000736572766963654b657900001500000084000000010000002000000049444c"
"3a746f7665696e61702f536572766963654b6579547970653a312e30000f00000053657276696"
"3654b65795479706500001500000040000000010000001d00000049444c3a6f6d672e6f72672f"
"41534e315f496e74656765723a312e30000000000d00000041534e315f496e746567657200000"
"00003000000"
);

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

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

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

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

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

//
// IDL:idl.tove/ccIf/TriggersType:1.0
//
OBTypeCodeConst ccIf__tc_TriggersType(
"0100000015000000ac010000010000002300000049444c3a69646c2e746f76652f636349662f5"
"472696767657273547970653a312e3000000d0000005472696767657273547970650000000013"
"00000064010000010000000f00000054010000010000002200000049444c3a69646c2e746f766"
"52f636349662f54726967676572547970653a312e300000000c00000054726967676572547970"
"65000600000005000000747970650000000012000000000000000900000063726974657269610"
"000000012000000000000000900000063617465676f7279000000001200000000000000080000"
"0061646472657373001200000000000000130000006170706c69636174696f6e436f6e7465787"
"4000012000000000000000b000000736572766963654b65790000150000008400000001000000"
"2000000049444c3a746f7665696e61702f536572766963654b6579547970653a312e30000f000"
"000536572766963654b65795479706500001500000040000000010000001d00000049444c3a6f"
"6d672e6f72672f41534e315f496e74656765723a312e30000000000d00000041534e315f496e7"
"465676572000000000300000000000000"
);

//
// IDL:idl.tove/ccIf/TDPtype:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< ccIf_TDPtype >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< ccIf_TDPtype >)
#endif
#endif

ccIf_TDPtype::ccIf_TDPtype(const ccIf_TDPtype& _ob_a)
    : type(_ob_a.type),
      messageType(_ob_a.messageType),
      setTriggers(_ob_a.setTriggers),
      allowedTriggers(_ob_a.allowedTriggers)
{
}

ccIf_TDPtype&
ccIf_TDPtype::operator=(const ccIf_TDPtype& _ob_a)
{
    if(this != &_ob_a)
    {
        type = _ob_a.type;
        messageType = _ob_a.messageType;
        setTriggers = _ob_a.setTriggers;
        allowedTriggers = _ob_a.allowedTriggers;
    }
    return *this;
}

void
OBMarshal(const ccIf_TDPtype& val, CORBA_Octet*& oct)
{
    OBMarshal(val.type.in(), oct);
    OBMarshal(val.messageType.in(), oct);
    OBMarshal(val.setTriggers, oct);
    OBMarshal(val.allowedTriggers, oct);
}

void
OBMarshalCount(const ccIf_TDPtype& val, CORBA_ULong& count)
{
    OBMarshalCount(val.type.in(), count);
    OBMarshalCount(val.messageType.in(), count);
    OBMarshalCount(val.setTriggers, count);
    OBMarshalCount(val.allowedTriggers, count);
}

void
OBUnmarshal(ccIf_TDPtype& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.type.inout(), coct, swap);
    OBUnmarshal(val.messageType.inout(), coct, swap);
    OBUnmarshal(val.setTriggers, coct, swap);
    OBUnmarshal(val.allowedTriggers, coct, swap);
}

OBTypeCodeConst ccIf__tc_TDPtype(
"010000000f000000f0030000010000001e00000049444c3a69646c2e746f76652f636349662f5"
"44450747970653a312e3000000008000000544450747970650004000000050000007479706500"
"00000012000000000000000c0000006d657373616765547970650012000000000000000c00000"
"073657454726967676572730015000000ac010000010000002300000049444c3a69646c2e746f"
"76652f636349662f5472696767657273547970653a312e3000000d00000054726967676572735"
"4797065000000001300000064010000010000000f00000054010000010000002200000049444c"
"3a69646c2e746f76652f636349662f54726967676572547970653a312e300000000c000000547"
"26967676572547970650006000000050000007479706500000000120000000000000009000000"
"63726974657269610000000012000000000000000900000063617465676f72790000000012000"
"000000000000800000061646472657373001200000000000000130000006170706c6963617469"
"6f6e436f6e74657874000012000000000000000b000000736572766963654b657900001500000"
"084000000010000002000000049444c3a746f7665696e61702f536572766963654b6579547970"
"653a312e30000f000000536572766963654b65795479706500001500000040000000010000001"
"d00000049444c3a6f6d672e6f72672f41534e315f496e74656765723a312e30000000000d0000"
"0041534e315f496e746567657200000000030000000000000010000000616c6c6f77656454726"
"967676572730015000000ac010000010000002300000049444c3a69646c2e746f76652f636349"
"662f5472696767657273547970653a312e3000000d00000054726967676572735479706500000"
"0001300000064010000010000000f00000054010000010000002200000049444c3a69646c2e74"
"6f76652f636349662f54726967676572547970653a312e300000000c000000547269676765725"
"47970650006000000050000007479706500000000120000000000000009000000637269746572"
"69610000000012000000000000000900000063617465676f72790000000012000000000000000"
"800000061646472657373001200000000000000130000006170706c69636174696f6e436f6e74"
"657874000012000000000000000b000000736572766963654b657900001500000084000000010"
"000002000000049444c3a746f7665696e61702f536572766963654b6579547970653a312e3000"
"0f000000536572766963654b65795479706500001500000040000000010000001d00000049444"
"c3a6f6d672e6f72672f41534e315f496e74656765723a312e30000000000d00000041534e315f"
"496e7465676572000000000300000000000000"
);

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

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

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

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

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

//
// IDL:idl.tove/ccIf/TDPsType:1.0
//
OBTypeCodeConst ccIf__tc_TDPsType(
"010000001500000040040000010000001f00000049444c3a69646c2e746f76652f636349662f5"
"4445073547970653a312e30000009000000544450735479706500000000130000000004000001"
"0000000f000000f0030000010000001e00000049444c3a69646c2e746f76652f636349662f544"
"450747970653a312e300000000800000054445074797065000400000005000000747970650000"
"000012000000000000000c0000006d657373616765547970650012000000000000000c0000007"
"3657454726967676572730015000000ac010000010000002300000049444c3a69646c2e746f76"
"652f636349662f5472696767657273547970653a312e3000000d0000005472696767657273547"
"97065000000001300000064010000010000000f00000054010000010000002200000049444c3a"
"69646c2e746f76652f636349662f54726967676572547970653a312e300000000c00000054726"
"96767657254797065000600000005000000747970650000000012000000000000000900000063"
"726974657269610000000012000000000000000900000063617465676f7279000000001200000"
"0000000000800000061646472657373001200000000000000130000006170706c69636174696f"
"6e436f6e74657874000012000000000000000b000000736572766963654b65790000150000008"
"4000000010000002000000049444c3a746f7665696e61702f536572766963654b657954797065"
"3a312e30000f000000536572766963654b65795479706500001500000040000000010000001d0"
"0000049444c3a6f6d672e6f72672f41534e315f496e74656765723a312e30000000000d000000"
"41534e315f496e746567657200000000030000000000000010000000616c6c6f7765645472696"
"7676572730015000000ac010000010000002300000049444c3a69646c2e746f76652f63634966"
"2f5472696767657273547970653a312e3000000d0000005472696767657273547970650000000"
"01300000064010000010000000f00000054010000010000002200000049444c3a69646c2e746f"
"76652f636349662f54726967676572547970653a312e300000000c00000054726967676572547"
"97065000600000005000000747970650000000012000000000000000900000063726974657269"
"610000000012000000000000000900000063617465676f7279000000001200000000000000080"
"0000061646472657373001200000000000000130000006170706c69636174696f6e436f6e7465"
"7874000012000000000000000b000000736572766963654b65790000150000008400000001000"
"0002000000049444c3a746f7665696e61702f536572766963654b6579547970653a312e30000f"
"000000536572766963654b65795479706500001500000040000000010000001d00000049444c3"
"a6f6d672e6f72672f41534e315f496e74656765723a312e30000000000d00000041534e315f49"
"6e746567657200000000030000000000000000000000"
);

//
// IDL:idl.tove/ccIf/managementServer:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< ccIf_managementServer >;
template class OBObjForSeq< ccIf_managementServer >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< ccIf_managementServer >)
#pragma define(OBObjForSeq< ccIf_managementServer >)
#endif
#endif

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

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

ccIf_managementServer_ptr
ccIf_managementServer::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:idl.tove/ccIf/managementServer:1.0");

        if(v)
            return _duplicate((ccIf_managementServer_ptr)v);

        if(p -> _OB_remoteIsA("IDL:idl.tove/ccIf/managementServer:1.0"))
        {
            ccIf_managementServer_ptr val = new ccIf_managementServer;
            val -> _OB_copyFrom(p);
            return val;
        }
    }

    return _nil();
}

void*
ccIf_managementServer::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:idl.tove/ccIf/managementServer:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
ccIf_managementServer::_OB_typeId() const
{
    return "IDL:idl.tove/ccIf/managementServer:1.0";
}

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

    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:idl.tove/ccIf/managementServer:1.0");

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

OBTypeCodeConst ccIf__tc_managementServer(
"010000000e00000045000000010000002700000049444c3a69646c2e746f76652f636349662f6"
"d616e6167656d656e745365727665723a312e300000110000006d616e6167656d656e74536572"
"76657200"
);

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

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

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

        if(!CORBA_is_nil(o -> d))
        {
            void* v = o -> d -> _OB_narrowHelp("IDL:idl.tove/ccIf/managementServer:1.0");

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

        return true;
    }
    else
        return false;
}

//
// IDL:idl.tove/ccIf/managementServer/setMessageType:1.0
//
void
ccIf_managementServer::setMessageType(ccIf_Side _ob_a0,
                                      const char* _ob_a1,
                                      const char* _ob_a2)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

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

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

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "setMessageType", _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);
        setMessageType(_ob_a0, _ob_a1, _ob_a2);
        return;
    }

    if(_ob_ex)
        throw CORBA_UNKNOWN();
}

//
// IDL:idl.tove/ccIf/managementServer/addTrigger:1.0
//
void
ccIf_managementServer::addTrigger(ccIf_Side _ob_a0,
                                  const char* _ob_a1,
                                  const ccIf_TriggerType& _ob_a2)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

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

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

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "addTrigger", _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);
        addTrigger(_ob_a0, _ob_a1, _ob_a2);
        return;
    }

    if(_ob_ex)
        throw CORBA_UNKNOWN();
}

//
// IDL:idl.tove/ccIf/managementServer/deleteTrigger:1.0
//
void
ccIf_managementServer::deleteTrigger(ccIf_Side _ob_a0,
                                     const char* _ob_a1,
                                     const ccIf_TriggerType& _ob_a2)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

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

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

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "deleteTrigger", _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);
        deleteTrigger(_ob_a0, _ob_a1, _ob_a2);
        return;
    }

    if(_ob_ex)
        throw CORBA_UNKNOWN();
}

//
// IDL:idl.tove/ccIf/managementServer/requestTDPreport:1.0
//
void
ccIf_managementServer::requestTDPreport(ccIf_Side _ob_a0,
                                        ccIf_TDPsType*& _ob_a1)
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

    CORBA_ULong _ob_off = _ob_clt_ -> offset(this, "requestTDPreport");
    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, "requestTDPreport", _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);
        requestTDPreport(_ob_a0, _ob_a1);
        return;
    }

    if(_ob_ex)
        throw CORBA_UNKNOWN();

    _ob_a1 = new ccIf_TDPsType;
    OBUnmarshal(*_ob_a1, _ob_co, _ob_sw);
}

//
// IDL:idl.tove/ccIf/managementServer/test:1.0
//
void
ccIf_managementServer::test()
{
    if(CORBA_is_nil(_ob_clt_))
        throw CORBA_NO_IMPLEMENT();

    CORBA_ULong _ob_off = _ob_clt_ -> offset(this, "test");
    CORBA_ULong _ob_cnt = _ob_off;

    OBBuffer _ob_buf(_ob_cnt);

    bool _ob_sw, _ob_ex, _ob_fo;
    _ob_off = _ob_clt_ -> request(this, "test", _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);
        test();
        return;
    }

    if(_ob_ex)
        throw CORBA_UNKNOWN();
}

//
// OBVarSeq< ccIf_TriggerType >
//
#ifdef OB_use_OBVarSeq_ccIf__TriggerType_from_ccif_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarSeq< ccIf_TriggerType >;
template class OBSeqVar< OBVarSeq< ccIf_TriggerType > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarSeq< ccIf_TriggerType >)
#pragma define(OBSeqVar< OBVarSeq< ccIf_TriggerType > >)
#endif
#endif

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

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

void
OBUnmarshal(OBVarSeq< ccIf_TriggerType >& 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_OBVarSeq_ccIf__TriggerType(
"010000001300000064010000010000000f00000054010000010000002200000049444c3a69646"
"c2e746f76652f636349662f54726967676572547970653a312e300000000c0000005472696767"
"65725479706500060000000500000074797065000000001200000000000000090000006372697"
"4657269610000000012000000000000000900000063617465676f727900000000120000000000"
"00000800000061646472657373001200000000000000130000006170706c69636174696f6e436"
"f6e74657874000012000000000000000b000000736572766963654b6579000015000000840000"
"00010000002000000049444c3a746f7665696e61702f536572766963654b6579547970653a312"
"e30000f000000536572766963654b65795479706500001500000040000000010000001d000000"
"49444c3a6f6d672e6f72672f41534e315f496e74656765723a312e30000000000d00000041534"
"e315f496e7465676572000000000300000000000000"
);

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

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

void
operator<<=(CORBA_Any& any, const OBVarSeq< ccIf_TriggerType >& seq)
{
    static const OBInfo< OBVarSeq< ccIf_TriggerType > > info;
    OBVarSeq< ccIf_TriggerType >* p = new OBVarSeq< ccIf_TriggerType >(seq);
    any.replace(_tc_OBVarSeq_ccIf__TriggerType, p, true, &info);
}

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

        p = (OBVarSeq< ccIf_TriggerType >*)any.value();
        return true;
    }
    else
        return false;
}

#endif

//
// OBVarSeq< ccIf_TDPtype >
//
#ifdef OB_use_OBVarSeq_ccIf__TDPtype_from_ccif_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarSeq< ccIf_TDPtype >;
template class OBSeqVar< OBVarSeq< ccIf_TDPtype > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarSeq< ccIf_TDPtype >)
#pragma define(OBSeqVar< OBVarSeq< ccIf_TDPtype > >)
#endif
#endif

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

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

void
OBUnmarshal(OBVarSeq< ccIf_TDPtype >& 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_OBVarSeq_ccIf__TDPtype(
"010000001300000000040000010000000f000000f0030000010000001e00000049444c3a69646"
"c2e746f76652f636349662f544450747970653a312e3000000008000000544450747970650004"
"00000005000000747970650000000012000000000000000c0000006d657373616765547970650"
"012000000000000000c00000073657454726967676572730015000000ac010000010000002300"
"000049444c3a69646c2e746f76652f636349662f5472696767657273547970653a312e3000000"
"d000000547269676765727354797065000000001300000064010000010000000f000000540100"
"00010000002200000049444c3a69646c2e746f76652f636349662f54726967676572547970653"
"a312e300000000c00000054726967676572547970650006000000050000007479706500000000"
"12000000000000000900000063726974657269610000000012000000000000000900000063617"
"465676f7279000000001200000000000000080000006164647265737300120000000000000013"
"0000006170706c69636174696f6e436f6e74657874000012000000000000000b0000007365727"
"66963654b657900001500000084000000010000002000000049444c3a746f7665696e61702f53"
"6572766963654b6579547970653a312e30000f000000536572766963654b65795479706500001"
"500000040000000010000001d00000049444c3a6f6d672e6f72672f41534e315f496e74656765"
"723a312e30000000000d00000041534e315f496e7465676572000000000300000000000000100"
"00000616c6c6f77656454726967676572730015000000ac010000010000002300000049444c3a"
"69646c2e746f76652f636349662f5472696767657273547970653a312e3000000d00000054726"
"9676765727354797065000000001300000064010000010000000f000000540100000100000022"
"00000049444c3a69646c2e746f76652f636349662f54726967676572547970653a312e3000000"
"00c00000054726967676572547970650006000000050000007479706500000000120000000000"
"00000900000063726974657269610000000012000000000000000900000063617465676f72790"
"00000001200000000000000080000006164647265737300120000000000000013000000617070"
"6c69636174696f6e436f6e74657874000012000000000000000b000000736572766963654b657"
"900001500000084000000010000002000000049444c3a746f7665696e61702f53657276696365"
"4b6579547970653a312e30000f000000536572766963654b65795479706500001500000040000"
"000010000001d00000049444c3a6f6d672e6f72672f41534e315f496e74656765723a312e3000"
"0000000d00000041534e315f496e746567657200000000030000000000000000000000"
);

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

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

void
operator<<=(CORBA_Any& any, const OBVarSeq< ccIf_TDPtype >& seq)
{
    static const OBInfo< OBVarSeq< ccIf_TDPtype > > info;
    OBVarSeq< ccIf_TDPtype >* p = new OBVarSeq< ccIf_TDPtype >(seq);
    any.replace(_tc_OBVarSeq_ccIf__TDPtype, p, true, &info);
}

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

        p = (OBVarSeq< ccIf_TDPtype >*)any.value();
        return true;
    }
    else
        return false;
}

#endif
