// **********************************************************************
//
// 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_Exceptions_h__
#define __OB_Exceptions_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 CORBA
{

} // End of namespace CORBA

namespace CORBA
{

} // End of namespace CORBA

namespace OBStubImpl_CORBA
{

} // End of namespace OBStubImpl_CORBA

namespace OBStubImpl_CORBA
{

} // End of namespace OBStubImpl_CORBA

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

//
// IDL:omg.org/CORBA/OMGVMCID:1.0
//
const ::CORBA::ULong OMGVMCID = 1330446336U;

//
// IDL:omg.org/CORBA/completion_status:1.0
//
enum CompletionStatus
{
    COMPLETED_YES,
    COMPLETED_NO,
    COMPLETED_MAYBE
};

typedef CompletionStatus& CompletionStatus_out;

OB_IMPORT extern OB::TypeCodeConst _tc_completion_status;

//
// IDL:omg.org/CORBA/exception_type:1.0
//
enum exception_type
{
    NO_EXCEPTION,
    USER_EXCEPTION,
    SYSTEM_EXCEPTION
};

typedef exception_type& exception_type_out;

OB_IMPORT extern OB::TypeCodeConst _tc_exception_type;

} // End of namespace CORBA

//
// IDL:omg.org/CORBA:1.0
//
namespace OBProxy_CORBA
{

} // End of namespace OBProxy_CORBA

//
// IDL:omg.org/CORBA:1.0
//
namespace OBStubImpl_CORBA
{

} // End of namespace OBStubImpl_CORBA

//
// IDL:omg.org/CORBA:1.0
//
namespace OBMarshalStubImpl_CORBA
{

} // End of namespace OBMarshalStubImpl_CORBA

//
// IDL:omg.org/CORBA:1.0
//
namespace OBV_CORBA
{

} // End of namespace OBV_CORBA

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

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

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

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

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

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

#endif
