// **********************************************************************
//
// Generated by the ORBacus IDL-to-C++ Translator
//
// Copyright (c) 2003
// IONA Technologies, Inc.
// Waltham, MA, USA
//
// All Rights Reserved
//
// **********************************************************************

// Version: 4.1.3

#ifndef __OB_CONV_FRAME_h__
#define __OB_CONV_FRAME_h__

#ifndef OB_IMPORT
#   ifdef OB_DLL
#      define OB_IMPORT __declspec(dllimport)
#   else
#      define OB_IMPORT /**/
#   endif
#endif


#ifndef OB_INTEGER_VERSION
#   error No ORBacus version defined! Is <OB/CORBA.h> included?
#endif

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

namespace CONV_FRAME
{

} // End of namespace CONV_FRAME

namespace CONV_FRAME
{

} // End of namespace CONV_FRAME

namespace OBStubImpl_CONV_FRAME
{

} // End of namespace OBStubImpl_CONV_FRAME

namespace OBStubImpl_CONV_FRAME
{

} // End of namespace OBStubImpl_CONV_FRAME

//
// IDL:omg.org/CONV_FRAME:1.0
//
namespace CONV_FRAME
{

//
// IDL:omg.org/CONV_FRAME/CodeSetId:1.0
//
typedef ::CORBA::ULong CodeSetId;
typedef ::CORBA::ULong_out CodeSetId_out;
OB_IMPORT extern OB::TypeCodeConst _tc_CodeSetId;

//
// IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
//
struct CodeSetComponent;
typedef OB::VarVar< CodeSetComponent > CodeSetComponent_var;
typedef OB::VarOut< CodeSetComponent > CodeSetComponent_out;

struct CodeSetComponent
{
#ifdef OB_CLEAR_MEM
    CodeSetComponent();
#else
    CodeSetComponent() { }
#endif
    CodeSetComponent(const CodeSetComponent&);
    CodeSetComponent& operator=(const CodeSetComponent&);

    typedef CodeSetComponent_var _var_type;

    CodeSetId native_code_set;
    class OBUnique_conversion_code_sets { };
    typedef OB::FixSeq< CodeSetId, OBUnique_conversion_code_sets > _conversion_code_sets_seq;
    _conversion_code_sets_seq conversion_code_sets;

    void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(CodeSetComponent&, OB::InputStreamImpl*);
};

OB_IMPORT extern OB::TypeCodeConst _tc_CodeSetComponent;

//
// IDL:omg.org/CONV_FRAME/CodeSetComponentInfo:1.0
//
struct CodeSetComponentInfo;
typedef OB::VarVar< CodeSetComponentInfo > CodeSetComponentInfo_var;
typedef OB::VarOut< CodeSetComponentInfo > CodeSetComponentInfo_out;

struct CodeSetComponentInfo
{
    CodeSetComponentInfo() { }
    CodeSetComponentInfo(const CodeSetComponentInfo&);
    CodeSetComponentInfo& operator=(const CodeSetComponentInfo&);

    typedef CodeSetComponentInfo_var _var_type;

    CodeSetComponent ForCharData;
    CodeSetComponent ForWcharData;

    void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(CodeSetComponentInfo&, OB::InputStreamImpl*);
};

OB_IMPORT extern OB::TypeCodeConst _tc_CodeSetComponentInfo;

//
// IDL:omg.org/CONV_FRAME/CodeSetContext:1.0
//
struct CodeSetContext;
typedef OB::FixVar< CodeSetContext > CodeSetContext_var;
typedef CodeSetContext& CodeSetContext_out;

struct CodeSetContext
{
    typedef CodeSetContext_var _var_type;

    CodeSetId char_data;
    CodeSetId wchar_data;

    void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(CodeSetContext&, OB::InputStreamImpl*);
};

OB_IMPORT extern OB::TypeCodeConst _tc_CodeSetContext;

} // End of namespace CONV_FRAME

//
// IDL:omg.org/CONV_FRAME:1.0
//
namespace OBProxy_CONV_FRAME
{

} // End of namespace OBProxy_CONV_FRAME

//
// IDL:omg.org/CONV_FRAME:1.0
//
namespace OBStubImpl_CONV_FRAME
{

} // End of namespace OBStubImpl_CONV_FRAME

//
// IDL:omg.org/CONV_FRAME:1.0
//
namespace OBMarshalStubImpl_CONV_FRAME
{

} // End of namespace OBMarshalStubImpl_CONV_FRAME

//
// IDL:omg.org/CONV_FRAME:1.0
//
namespace OBV_CONV_FRAME
{

} // End of namespace OBV_CONV_FRAME

//
// IDL:omg.org/CONV_FRAME/CodeSetComponent:1.0
//
void operator<<=(::CORBA::Any&, CONV_FRAME::CodeSetComponent*);
void operator<<=(::CORBA::Any&, const CONV_FRAME::CodeSetComponent&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CONV_FRAME::CodeSetComponent*&);

inline void
operator<<=(::CORBA::Any_var& any, CONV_FRAME::CodeSetComponent* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CONV_FRAME::CodeSetComponent& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CONV_FRAME::CodeSetComponent*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CONV_FRAME/CodeSetComponentInfo:1.0
//
void operator<<=(::CORBA::Any&, CONV_FRAME::CodeSetComponentInfo*);
void operator<<=(::CORBA::Any&, const CONV_FRAME::CodeSetComponentInfo&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CONV_FRAME::CodeSetComponentInfo*&);

inline void
operator<<=(::CORBA::Any_var& any, CONV_FRAME::CodeSetComponentInfo* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CONV_FRAME::CodeSetComponentInfo& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CONV_FRAME::CodeSetComponentInfo*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CONV_FRAME/CodeSetContext:1.0
//
void operator<<=(::CORBA::Any&, CONV_FRAME::CodeSetContext*);
void operator<<=(::CORBA::Any&, const CONV_FRAME::CodeSetContext&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CONV_FRAME::CodeSetContext*&);

inline void
operator<<=(::CORBA::Any_var& any, CONV_FRAME::CodeSetContext* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CONV_FRAME::CodeSetContext& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CONV_FRAME::CodeSetContext*& val)
{
    return any.in() >>= val;
}

#endif
