// **********************************************************************
//
// 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_OCIClient_h__
#define __OB_OCIClient_h__

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


#include <OB/OCITypes.h>
#include <OB/Policy.h>
#include <OB/OCIClient_fwd.h>

#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 OBStubImpl_OCI
{

} // End of namespace OBStubImpl_OCI

namespace OBStubImpl_OCI
{

} // End of namespace OBStubImpl_OCI

//
// IDL:ooc.com/OCI:1.0
//
namespace OCI
{

//
// IDL:ooc.com/OCI/Version:1.0
//
const char* const Version = "1.0";

//
// IDL:ooc.com/OCI/Plugin:1.0
//
class Plugin : virtual public ::CORBA::Object
{
    Plugin(const Plugin&);
    void operator=(const Plugin&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    Plugin() { }
    virtual ~Plugin() { }

    typedef Plugin_ptr _ptr_type;
    typedef Plugin_var _var_type;

    static inline Plugin_ptr
    _duplicate(Plugin_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline Plugin_ptr
    _nil()
    {
        return 0;
    }

    static Plugin_ptr _narrow(::CORBA::Object_ptr);

    static Plugin_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/Plugin/id:1.0
    //
    virtual PluginId id() = 0;

    //
    // IDL:ooc.com/OCI/Plugin/tag:1.0
    //
    virtual ProfileId tag() = 0;

    //
    // IDL:ooc.com/OCI/Plugin/init_client:1.0
    //
    virtual void init_client(const ParamSeq& params) = 0;

    //
    // IDL:ooc.com/OCI/Plugin/init_server:1.0
    //
    virtual void init_server(const ParamSeq& params) = 0;
};

//
// IDL:ooc.com/OCI/Transport:1.0
//
class Transport : virtual public ::CORBA::Object
{
    Transport(const Transport&);
    void operator=(const Transport&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    Transport() { }
    virtual ~Transport() { }

    typedef Transport_ptr _ptr_type;
    typedef Transport_var _var_type;

    static inline Transport_ptr
    _duplicate(Transport_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline Transport_ptr
    _nil()
    {
        return 0;
    }

    static Transport_ptr _narrow(::CORBA::Object_ptr);

    static Transport_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/Transport/id:1.0
    //
    virtual PluginId id() = 0;

    //
    // IDL:ooc.com/OCI/Transport/tag:1.0
    //
    virtual ProfileId tag() = 0;

    //
    // IDL:ooc.com/OCI/Transport/mode:1.0
    //
    virtual SendReceiveMode mode() = 0;

    //
    // IDL:ooc.com/OCI/Transport/handle:1.0
    //
    virtual Handle handle() = 0;

    //
    // IDL:ooc.com/OCI/Transport/close:1.0
    //
    virtual void close() = 0;

    //
    // IDL:ooc.com/OCI/Transport/shutdown:1.0
    //
    virtual void shutdown() = 0;

    //
    // IDL:ooc.com/OCI/Transport/receive:1.0
    //
    virtual void receive(Buffer_ptr buf,
                         ::CORBA::Boolean block) = 0;

    //
    // IDL:ooc.com/OCI/Transport/receive_detect:1.0
    //
    virtual ::CORBA::Boolean receive_detect(Buffer_ptr buf,
                                            ::CORBA::Boolean block) = 0;

    //
    // IDL:ooc.com/OCI/Transport/receive_timeout:1.0
    //
    virtual void receive_timeout(Buffer_ptr buf,
                                 ::CORBA::ULong timeout) = 0;

    //
    // IDL:ooc.com/OCI/Transport/receive_timeout_detect:1.0
    //
    virtual ::CORBA::Boolean receive_timeout_detect(Buffer_ptr buf,
                                                    ::CORBA::ULong timeout) = 0;

    //
    // IDL:ooc.com/OCI/Transport/send:1.0
    //
    virtual void send(Buffer_ptr buf,
                      ::CORBA::Boolean block) = 0;

    //
    // IDL:ooc.com/OCI/Transport/send_detect:1.0
    //
    virtual ::CORBA::Boolean send_detect(Buffer_ptr buf,
                                         ::CORBA::Boolean block) = 0;

    //
    // IDL:ooc.com/OCI/Transport/send_timeout:1.0
    //
    virtual void send_timeout(Buffer_ptr buf,
                              ::CORBA::ULong timeout) = 0;

    //
    // IDL:ooc.com/OCI/Transport/send_timeout_detect:1.0
    //
    virtual ::CORBA::Boolean send_timeout_detect(Buffer_ptr buf,
                                                 ::CORBA::ULong timeout) = 0;

    //
    // IDL:ooc.com/OCI/Transport/get_info:1.0
    //
    virtual TransportInfo_ptr get_info() = 0;
};

//
// IDL:ooc.com/OCI/TransportInfo:1.0
//
class TransportInfo : virtual public ::CORBA::Object
{
    TransportInfo(const TransportInfo&);
    void operator=(const TransportInfo&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    TransportInfo() { }
    virtual ~TransportInfo() { }

    typedef TransportInfo_ptr _ptr_type;
    typedef TransportInfo_var _var_type;

    static inline TransportInfo_ptr
    _duplicate(TransportInfo_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline TransportInfo_ptr
    _nil()
    {
        return 0;
    }

    static TransportInfo_ptr _narrow(::CORBA::Object_ptr);

    static TransportInfo_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/TransportInfo/id:1.0
    //
    virtual PluginId id() = 0;

    //
    // IDL:ooc.com/OCI/TransportInfo/tag:1.0
    //
    virtual ProfileId tag() = 0;

    //
    // IDL:ooc.com/OCI/TransportInfo/connector_info:1.0
    //
    virtual ConnectorInfo_ptr connector_info() = 0;

    //
    // IDL:ooc.com/OCI/TransportInfo/acceptor_info:1.0
    //
    virtual AcceptorInfo_ptr acceptor_info() = 0;

    //
    // IDL:ooc.com/OCI/TransportInfo/describe:1.0
    //
    virtual char* describe() = 0;

    //
    // IDL:ooc.com/OCI/TransportInfo/add_close_cb:1.0
    //
    virtual void add_close_cb(CloseCB_ptr cb) = 0;

    //
    // IDL:ooc.com/OCI/TransportInfo/remove_close_cb:1.0
    //
    virtual void remove_close_cb(CloseCB_ptr cb) = 0;
};

//
// IDL:ooc.com/OCI/CloseCB:1.0
//
class CloseCB : virtual public ::CORBA::Object
{
    CloseCB(const CloseCB&);
    void operator=(const CloseCB&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    CloseCB() { }
    virtual ~CloseCB() { }

    typedef CloseCB_ptr _ptr_type;
    typedef CloseCB_var _var_type;

    static inline CloseCB_ptr
    _duplicate(CloseCB_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline CloseCB_ptr
    _nil()
    {
        return 0;
    }

    static CloseCB_ptr _narrow(::CORBA::Object_ptr);

    static CloseCB_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/CloseCB/close_cb:1.0
    //
    virtual void close_cb(TransportInfo_ptr transport_info) = 0;
};

//
// IDL:ooc.com/OCI/CloseCBSeq:1.0
//
class OBUnique_CloseCBSeq { };

typedef OB::ObjSeq< CloseCB, OBUnique_CloseCBSeq > CloseCBSeq;
typedef OB::SeqVar< OB::ObjSeq< CloseCB, OBUnique_CloseCBSeq > > CloseCBSeq_var;
typedef OB::SeqOut< OB::ObjSeq< CloseCB, OBUnique_CloseCBSeq > > CloseCBSeq_out;

//
// IDL:ooc.com/OCI/Connector:1.0
//
class Connector : virtual public ::CORBA::Object
{
    Connector(const Connector&);
    void operator=(const Connector&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    Connector() { }
    virtual ~Connector() { }

    typedef Connector_ptr _ptr_type;
    typedef Connector_var _var_type;

    static inline Connector_ptr
    _duplicate(Connector_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline Connector_ptr
    _nil()
    {
        return 0;
    }

    static Connector_ptr _narrow(::CORBA::Object_ptr);

    static Connector_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/Connector/id:1.0
    //
    virtual PluginId id() = 0;

    //
    // IDL:ooc.com/OCI/Connector/tag:1.0
    //
    virtual ProfileId tag() = 0;

    //
    // IDL:ooc.com/OCI/Connector/connect:1.0
    //
    virtual Transport_ptr connect() = 0;

    //
    // IDL:ooc.com/OCI/Connector/connect_timeout:1.0
    //
    virtual Transport_ptr connect_timeout(::CORBA::ULong timeout) = 0;

    //
    // IDL:ooc.com/OCI/Connector/get_usable_profiles:1.0
    //
    virtual ProfileInfoSeq* get_usable_profiles(const IOR& ref,
                                                const ::CORBA::PolicyList& policies) = 0;

    //
    // IDL:ooc.com/OCI/Connector/equal:1.0
    //
    virtual ::CORBA::Boolean equal(Connector_ptr con) = 0;

    //
    // IDL:ooc.com/OCI/Connector/get_info:1.0
    //
    virtual ConnectorInfo_ptr get_info() = 0;
};

//
// IDL:ooc.com/OCI/ConnectorSeq:1.0
//
class OBUnique_ConnectorSeq { };

typedef OB::ObjSeq< Connector, OBUnique_ConnectorSeq > ConnectorSeq;
typedef OB::SeqVar< OB::ObjSeq< Connector, OBUnique_ConnectorSeq > > ConnectorSeq_var;
typedef OB::SeqOut< OB::ObjSeq< Connector, OBUnique_ConnectorSeq > > ConnectorSeq_out;

//
// IDL:ooc.com/OCI/ConnectorInfo:1.0
//
class ConnectorInfo : virtual public ::CORBA::Object
{
    ConnectorInfo(const ConnectorInfo&);
    void operator=(const ConnectorInfo&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    ConnectorInfo() { }
    virtual ~ConnectorInfo() { }

    typedef ConnectorInfo_ptr _ptr_type;
    typedef ConnectorInfo_var _var_type;

    static inline ConnectorInfo_ptr
    _duplicate(ConnectorInfo_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ConnectorInfo_ptr
    _nil()
    {
        return 0;
    }

    static ConnectorInfo_ptr _narrow(::CORBA::Object_ptr);

    static ConnectorInfo_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/ConnectorInfo/id:1.0
    //
    virtual PluginId id() = 0;

    //
    // IDL:ooc.com/OCI/ConnectorInfo/tag:1.0
    //
    virtual ProfileId tag() = 0;

    //
    // IDL:ooc.com/OCI/ConnectorInfo/describe:1.0
    //
    virtual char* describe() = 0;

    //
    // IDL:ooc.com/OCI/ConnectorInfo/add_connect_cb:1.0
    //
    virtual void add_connect_cb(ConnectCB_ptr cb) = 0;

    //
    // IDL:ooc.com/OCI/ConnectorInfo/remove_connect_cb:1.0
    //
    virtual void remove_connect_cb(ConnectCB_ptr cb) = 0;
};

//
// IDL:ooc.com/OCI/ConnectCB:1.0
//
class ConnectCB : virtual public ::CORBA::Object
{
    ConnectCB(const ConnectCB&);
    void operator=(const ConnectCB&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    ConnectCB() { }
    virtual ~ConnectCB() { }

    typedef ConnectCB_ptr _ptr_type;
    typedef ConnectCB_var _var_type;

    static inline ConnectCB_ptr
    _duplicate(ConnectCB_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ConnectCB_ptr
    _nil()
    {
        return 0;
    }

    static ConnectCB_ptr _narrow(::CORBA::Object_ptr);

    static ConnectCB_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/ConnectCB/connect_cb:1.0
    //
    virtual void connect_cb(TransportInfo_ptr transport_info) = 0;
};

//
// IDL:ooc.com/OCI/ConnectCBSeq:1.0
//
class OBUnique_ConnectCBSeq { };

typedef OB::ObjSeq< ConnectCB, OBUnique_ConnectCBSeq > ConnectCBSeq;
typedef OB::SeqVar< OB::ObjSeq< ConnectCB, OBUnique_ConnectCBSeq > > ConnectCBSeq_var;
typedef OB::SeqOut< OB::ObjSeq< ConnectCB, OBUnique_ConnectCBSeq > > ConnectCBSeq_out;

//
// IDL:ooc.com/OCI/ConFactory:1.0
//
class ConFactory : virtual public ::CORBA::Object
{
    ConFactory(const ConFactory&);
    void operator=(const ConFactory&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    ConFactory() { }
    virtual ~ConFactory() { }

    typedef ConFactory_ptr _ptr_type;
    typedef ConFactory_var _var_type;

    static inline ConFactory_ptr
    _duplicate(ConFactory_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ConFactory_ptr
    _nil()
    {
        return 0;
    }

    static ConFactory_ptr _narrow(::CORBA::Object_ptr);

    static ConFactory_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/ConFactory/id:1.0
    //
    virtual PluginId id() = 0;

    //
    // IDL:ooc.com/OCI/ConFactory/tag:1.0
    //
    virtual ProfileId tag() = 0;

    //
    // IDL:ooc.com/OCI/ConFactory/describe_profile:1.0
    //
    virtual char* describe_profile(const ::IOP::TaggedProfile& prof) = 0;

    //
    // IDL:ooc.com/OCI/ConFactory/create_connectors:1.0
    //
    virtual ConnectorSeq* create_connectors(const IOR& ref,
                                            const ::CORBA::PolicyList& policies) = 0;

    //
    // IDL:ooc.com/OCI/ConFactory/equivalent:1.0
    //
    virtual ::CORBA::Boolean equivalent(const IOR& ior1,
                                        const IOR& ior2) = 0;

    //
    // IDL:ooc.com/OCI/ConFactory/hash:1.0
    //
    virtual ::CORBA::ULong hash(const IOR& ref,
                                ::CORBA::ULong maximum) = 0;

    //
    // IDL:ooc.com/OCI/ConFactory/get_info:1.0
    //
    virtual ConFactoryInfo_ptr get_info() = 0;
};

//
// IDL:ooc.com/OCI/ConFactorySeq:1.0
//
class OBUnique_ConFactorySeq { };

typedef OB::ObjSeq< ConFactory, OBUnique_ConFactorySeq > ConFactorySeq;
typedef OB::SeqVar< OB::ObjSeq< ConFactory, OBUnique_ConFactorySeq > > ConFactorySeq_var;
typedef OB::SeqOut< OB::ObjSeq< ConFactory, OBUnique_ConFactorySeq > > ConFactorySeq_out;

//
// IDL:ooc.com/OCI/ConFactoryInfo:1.0
//
class ConFactoryInfo : virtual public ::CORBA::Object
{
    ConFactoryInfo(const ConFactoryInfo&);
    void operator=(const ConFactoryInfo&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    ConFactoryInfo() { }
    virtual ~ConFactoryInfo() { }

    typedef ConFactoryInfo_ptr _ptr_type;
    typedef ConFactoryInfo_var _var_type;

    static inline ConFactoryInfo_ptr
    _duplicate(ConFactoryInfo_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ConFactoryInfo_ptr
    _nil()
    {
        return 0;
    }

    static ConFactoryInfo_ptr _narrow(::CORBA::Object_ptr);

    static ConFactoryInfo_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/ConFactoryInfo/id:1.0
    //
    virtual PluginId id() = 0;

    //
    // IDL:ooc.com/OCI/ConFactoryInfo/tag:1.0
    //
    virtual ProfileId tag() = 0;

    //
    // IDL:ooc.com/OCI/ConFactoryInfo/describe:1.0
    //
    virtual char* describe() = 0;

    //
    // IDL:ooc.com/OCI/ConFactoryInfo/add_connect_cb:1.0
    //
    virtual void add_connect_cb(ConnectCB_ptr cb) = 0;

    //
    // IDL:ooc.com/OCI/ConFactoryInfo/remove_connect_cb:1.0
    //
    virtual void remove_connect_cb(ConnectCB_ptr cb) = 0;
};

//
// IDL:ooc.com/OCI/FactoryAlreadyExists:1.0
//
struct FactoryAlreadyExists : public ::CORBA::UserException
{
    FactoryAlreadyExists() { }
    FactoryAlreadyExists(const FactoryAlreadyExists&);
    FactoryAlreadyExists& operator=(const FactoryAlreadyExists&);

    static FactoryAlreadyExists* _downcast(::CORBA::Exception*);
    static const FactoryAlreadyExists* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    OB::StrForStruct id;

    FactoryAlreadyExists(const char*);

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

//
// IDL:ooc.com/OCI/NoSuchFactory:1.0
//
struct NoSuchFactory : public ::CORBA::UserException
{
    NoSuchFactory() { }
    NoSuchFactory(const NoSuchFactory&);
    NoSuchFactory& operator=(const NoSuchFactory&);

    static NoSuchFactory* _downcast(::CORBA::Exception*);
    static const NoSuchFactory* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    OB::StrForStruct id;

    NoSuchFactory(const char*);

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

//
// IDL:ooc.com/OCI/ConFactoryRegistry:1.0
//
class ConFactoryRegistry : virtual public ::CORBA::Object
{
    ConFactoryRegistry(const ConFactoryRegistry&);
    void operator=(const ConFactoryRegistry&);

protected:

    static OB_IMPORT const char* ids_[];

public:

    ConFactoryRegistry() { }
    virtual ~ConFactoryRegistry() { }

    typedef ConFactoryRegistry_ptr _ptr_type;
    typedef ConFactoryRegistry_var _var_type;

    static inline ConFactoryRegistry_ptr
    _duplicate(ConFactoryRegistry_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline ConFactoryRegistry_ptr
    _nil()
    {
        return 0;
    }

    static ConFactoryRegistry_ptr _narrow(::CORBA::Object_ptr);

    static ConFactoryRegistry_ptr _narrow(::CORBA::AbstractBase_ptr);


    //
    // IDL:ooc.com/OCI/ConFactoryRegistry/add_factory:1.0
    //
    virtual void add_factory(ConFactory_ptr factory) = 0;

    //
    // IDL:ooc.com/OCI/ConFactoryRegistry/get_factory:1.0
    //
    virtual ConFactory_ptr get_factory(const char* id) = 0;

    //
    // IDL:ooc.com/OCI/ConFactoryRegistry/get_factories:1.0
    //
    virtual ConFactorySeq* get_factories() = 0;
};

} // End of namespace OCI

//
// IDL:ooc.com/OCI:1.0
//
namespace OBProxy_OCI
{

} // End of namespace OBProxy_OCI

//
// IDL:ooc.com/OCI:1.0
//
namespace OBStubImpl_OCI
{

} // End of namespace OBStubImpl_OCI

//
// IDL:ooc.com/OCI:1.0
//
namespace OBMarshalStubImpl_OCI
{

} // End of namespace OBMarshalStubImpl_OCI

//
// IDL:ooc.com/OCI:1.0
//
namespace OBV_OCI
{

} // End of namespace OBV_OCI

//
// IDL:ooc.com/OCI/Plugin:1.0
//
namespace CORBA
{

inline void
release(::OCI::Plugin_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::Plugin_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/Transport:1.0
//
namespace CORBA
{

inline void
release(::OCI::Transport_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::Transport_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/TransportInfo:1.0
//
namespace CORBA
{

inline void
release(::OCI::TransportInfo_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::TransportInfo_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/CloseCB:1.0
//
namespace CORBA
{

inline void
release(::OCI::CloseCB_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::CloseCB_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/Connector:1.0
//
namespace CORBA
{

inline void
release(::OCI::Connector_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::Connector_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/ConnectorInfo:1.0
//
namespace CORBA
{

inline void
release(::OCI::ConnectorInfo_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::ConnectorInfo_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/ConnectCB:1.0
//
namespace CORBA
{

inline void
release(::OCI::ConnectCB_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::ConnectCB_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/ConFactory:1.0
//
namespace CORBA
{

inline void
release(::OCI::ConFactory_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::ConFactory_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/ConFactoryInfo:1.0
//
namespace CORBA
{

inline void
release(::OCI::ConFactoryInfo_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::ConFactoryInfo_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

//
// IDL:ooc.com/OCI/ConFactoryRegistry:1.0
//
namespace CORBA
{

inline void
release(::OCI::ConFactoryRegistry_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::OCI::ConFactoryRegistry_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

#endif
