// **********************************************************************
//
// 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

#ifndef __IIOP_h__
#define __IIOP_h__

#include <OB/GIOP.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/IOP:1.0
//

//
// IDL:omg.org/GIOP:1.0
//

//
// IDL:omg.org/IIOP:1.0
//

//
// IDL:omg.org/IIOP/Version:1.0
//
struct IIOP_Version
{
    CORBA_Octet major;
    CORBA_Octet minor;
};

typedef OBFixVar< IIOP_Version > IIOP_Version_var;

//
// IDL:omg.org/IIOP/ProfileBody:1.0
//
struct IIOP_ProfileBody
{
#ifdef OB_CLEAR_MEM
    IIOP_ProfileBody();
#else
    IIOP_ProfileBody() { }
#endif
    IIOP_ProfileBody(const IIOP_ProfileBody&);
    ~IIOP_ProfileBody() { }
    IIOP_ProfileBody& operator=(const IIOP_ProfileBody&);

    IIOP_Version iiop_version;
    CORBA_String_var host;
    CORBA_UShort port;
    OBFixSeq< CORBA_Octet > object_key;
};

typedef OBVarVar< IIOP_ProfileBody > IIOP_ProfileBody_var;

//
// IDL:omg.org/IIOP/Version:1.0
//
void OBMarshal(const IIOP_Version&, CORBA_Octet*&);
void OBMarshalCount(const IIOP_Version&, CORBA_ULong&);
void OBUnmarshal(IIOP_Version&, const CORBA_Octet*&, bool);

//
// IDL:omg.org/IIOP/ProfileBody:1.0
//
void OBMarshal(const IIOP_ProfileBody&, CORBA_Octet*&);
void OBMarshalCount(const IIOP_ProfileBody&, CORBA_ULong&);
void OBUnmarshal(IIOP_ProfileBody&, const CORBA_Octet*&, bool);

#endif
