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

// Version: 3.2
// License: non-commercial

#include <OB/CORBA.h>
#include <OB/TemplateI.h>
#include <OB/IIOP.h>

#ifndef OB_INTEGER_VERSION
#   error No ORBacus version defined!
#endif

#ifndef OB_NO_VERSION_CHECK
#   if (OB_INTEGER_VERSION != 3020000L)
#       error ORBacus version mismatch!
#   endif
#endif

//
// IDL:omg.org/IIOP/Version:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBFixVar< IIOP_Version >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBFixVar< IIOP_Version >)
#endif
#endif

void
OBMarshal(const IIOP_Version& val, CORBA_Octet*& oct)
{
    OBMarshal(val.major, oct);
    OBMarshal(val.minor, oct);
}

void
OBMarshalCount(const IIOP_Version& val, CORBA_ULong& count)
{
    OBMarshalCount(val.major, count);
    OBMarshalCount(val.minor, count);
}

void
OBUnmarshal(IIOP_Version& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.major, coct, swap);
    OBUnmarshal(val.minor, coct, swap);
}

//
// IDL:omg.org/IIOP/ProfileBody:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBVarVar< IIOP_ProfileBody >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBVarVar< IIOP_ProfileBody >)
#endif
#endif

#ifdef OB_CLEAR_MEM
IIOP_ProfileBody::IIOP_ProfileBody()
{
    memset(&iiop_version, 0, sizeof(iiop_version));
    memset(&port, 0, sizeof(port));
}
#endif

IIOP_ProfileBody::IIOP_ProfileBody(const IIOP_ProfileBody& _ob_a)
    : iiop_version(_ob_a.iiop_version),
      host(_ob_a.host),
      port(_ob_a.port),
      object_key(_ob_a.object_key)
{
}

IIOP_ProfileBody&
IIOP_ProfileBody::operator=(const IIOP_ProfileBody& _ob_a)
{
    if(this != &_ob_a)
    {
        iiop_version = _ob_a.iiop_version;
        host = _ob_a.host;
        port = _ob_a.port;
        object_key = _ob_a.object_key;
    }
    return *this;
}

void
OBMarshal(const IIOP_ProfileBody& val, CORBA_Octet*& oct)
{
    OBMarshal(val.iiop_version, oct);
    OBMarshal(val.host.in(), oct);
    OBMarshal(val.port, oct);
    OBMarshal(val.object_key, oct);
}

void
OBMarshalCount(const IIOP_ProfileBody& val, CORBA_ULong& count)
{
    OBMarshalCount(val.iiop_version, count);
    OBMarshalCount(val.host.in(), count);
    OBMarshalCount(val.port, count);
    OBMarshalCount(val.object_key, count);
}

void
OBUnmarshal(IIOP_ProfileBody& val, const CORBA_Octet*& coct, bool swap)
{
    OBUnmarshal(val.iiop_version, coct, swap);
    OBUnmarshal(val.host.inout(), coct, swap);
    OBUnmarshal(val.port, coct, swap);
    OBUnmarshal(val.object_key, coct, swap);
}

//
// OBFixSeq< OBUnsignedChar >
//
#ifdef OB_use_OBFixSeq_OBUnsignedChar_from_IIOP_h

#endif
