// **********************************************************************
//
// 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/OCI.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:ooc.com/OCI/Transport:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_Transport >;
template class OBObjForSeq< OCI_Transport >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_Transport >)
#pragma define(OBObjForSeq< OCI_Transport >)
#endif
#endif

void
OBDuplicate(OCI_Transport_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_Transport_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_Transport_ptr
OCI_Transport::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/Transport:1.0");

        if(v)
            return _duplicate((OCI_Transport_ptr)v);
    }

    return _nil();
}

void*
OCI_Transport::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/Transport:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_Transport::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/Transport:1.0";
}

//
// IDL:ooc.com/OCI/TransportInfo:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_TransportInfo >;
template class OBObjForSeq< OCI_TransportInfo >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_TransportInfo >)
#pragma define(OBObjForSeq< OCI_TransportInfo >)
#endif
#endif

void
OBDuplicate(OCI_TransportInfo_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_TransportInfo_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_TransportInfo_ptr
OCI_TransportInfo::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/TransportInfo:1.0");

        if(v)
            return _duplicate((OCI_TransportInfo_ptr)v);
    }

    return _nil();
}

void*
OCI_TransportInfo::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/TransportInfo:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_TransportInfo::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/TransportInfo:1.0";
}

//
// IDL:ooc.com/OCI/CloseCB:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_CloseCB >;
template class OBObjForSeq< OCI_CloseCB >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_CloseCB >)
#pragma define(OBObjForSeq< OCI_CloseCB >)
#endif
#endif

void
OBDuplicate(OCI_CloseCB_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_CloseCB_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_CloseCB_ptr
OCI_CloseCB::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/CloseCB:1.0");

        if(v)
            return _duplicate((OCI_CloseCB_ptr)v);
    }

    return _nil();
}

void*
OCI_CloseCB::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/CloseCB:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_CloseCB::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/CloseCB:1.0";
}

//
// IDL:ooc.com/OCI/Connector:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_Connector >;
template class OBObjForSeq< OCI_Connector >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_Connector >)
#pragma define(OBObjForSeq< OCI_Connector >)
#endif
#endif

void
OBDuplicate(OCI_Connector_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_Connector_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_Connector_ptr
OCI_Connector::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/Connector:1.0");

        if(v)
            return _duplicate((OCI_Connector_ptr)v);
    }

    return _nil();
}

void*
OCI_Connector::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/Connector:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_Connector::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/Connector:1.0";
}

//
// IDL:ooc.com/OCI/ConnectorInfo:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_ConnectorInfo >;
template class OBObjForSeq< OCI_ConnectorInfo >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_ConnectorInfo >)
#pragma define(OBObjForSeq< OCI_ConnectorInfo >)
#endif
#endif

void
OBDuplicate(OCI_ConnectorInfo_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_ConnectorInfo_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_ConnectorInfo_ptr
OCI_ConnectorInfo::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/ConnectorInfo:1.0");

        if(v)
            return _duplicate((OCI_ConnectorInfo_ptr)v);
    }

    return _nil();
}

void*
OCI_ConnectorInfo::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/ConnectorInfo:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_ConnectorInfo::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/ConnectorInfo:1.0";
}

//
// IDL:ooc.com/OCI/ConnectCB:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_ConnectCB >;
template class OBObjForSeq< OCI_ConnectCB >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_ConnectCB >)
#pragma define(OBObjForSeq< OCI_ConnectCB >)
#endif
#endif

void
OBDuplicate(OCI_ConnectCB_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_ConnectCB_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_ConnectCB_ptr
OCI_ConnectCB::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/ConnectCB:1.0");

        if(v)
            return _duplicate((OCI_ConnectCB_ptr)v);
    }

    return _nil();
}

void*
OCI_ConnectCB::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/ConnectCB:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_ConnectCB::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/ConnectCB:1.0";
}

//
// IDL:ooc.com/OCI/Acceptor:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_Acceptor >;
template class OBObjForSeq< OCI_Acceptor >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_Acceptor >)
#pragma define(OBObjForSeq< OCI_Acceptor >)
#endif
#endif

void
OBDuplicate(OCI_Acceptor_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_Acceptor_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_Acceptor_ptr
OCI_Acceptor::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/Acceptor:1.0");

        if(v)
            return _duplicate((OCI_Acceptor_ptr)v);
    }

    return _nil();
}

void*
OCI_Acceptor::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/Acceptor:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_Acceptor::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/Acceptor:1.0";
}

//
// IDL:ooc.com/OCI/AcceptorInfo:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_AcceptorInfo >;
template class OBObjForSeq< OCI_AcceptorInfo >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_AcceptorInfo >)
#pragma define(OBObjForSeq< OCI_AcceptorInfo >)
#endif
#endif

void
OBDuplicate(OCI_AcceptorInfo_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_AcceptorInfo_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_AcceptorInfo_ptr
OCI_AcceptorInfo::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/AcceptorInfo:1.0");

        if(v)
            return _duplicate((OCI_AcceptorInfo_ptr)v);
    }

    return _nil();
}

void*
OCI_AcceptorInfo::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/AcceptorInfo:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_AcceptorInfo::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/AcceptorInfo:1.0";
}

//
// IDL:ooc.com/OCI/AcceptCB:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_AcceptCB >;
template class OBObjForSeq< OCI_AcceptCB >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_AcceptCB >)
#pragma define(OBObjForSeq< OCI_AcceptCB >)
#endif
#endif

void
OBDuplicate(OCI_AcceptCB_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_AcceptCB_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_AcceptCB_ptr
OCI_AcceptCB::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/AcceptCB:1.0");

        if(v)
            return _duplicate((OCI_AcceptCB_ptr)v);
    }

    return _nil();
}

void*
OCI_AcceptCB::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/AcceptCB:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_AcceptCB::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/AcceptCB:1.0";
}

//
// IDL:ooc.com/OCI/ConFactory:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_ConFactory >;
template class OBObjForSeq< OCI_ConFactory >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_ConFactory >)
#pragma define(OBObjForSeq< OCI_ConFactory >)
#endif
#endif

void
OBDuplicate(OCI_ConFactory_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_ConFactory_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_ConFactory_ptr
OCI_ConFactory::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/ConFactory:1.0");

        if(v)
            return _duplicate((OCI_ConFactory_ptr)v);
    }

    return _nil();
}

void*
OCI_ConFactory::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/ConFactory:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_ConFactory::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/ConFactory:1.0";
}

//
// IDL:ooc.com/OCI/ConFactoryInfo:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_ConFactoryInfo >;
template class OBObjForSeq< OCI_ConFactoryInfo >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_ConFactoryInfo >)
#pragma define(OBObjForSeq< OCI_ConFactoryInfo >)
#endif
#endif

void
OBDuplicate(OCI_ConFactoryInfo_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_ConFactoryInfo_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_ConFactoryInfo_ptr
OCI_ConFactoryInfo::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/ConFactoryInfo:1.0");

        if(v)
            return _duplicate((OCI_ConFactoryInfo_ptr)v);
    }

    return _nil();
}

void*
OCI_ConFactoryInfo::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/ConFactoryInfo:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_ConFactoryInfo::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/ConFactoryInfo:1.0";
}

//
// IDL:ooc.com/OCI/ConFactoryRegistry:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_ConFactoryRegistry >;
template class OBObjForSeq< OCI_ConFactoryRegistry >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_ConFactoryRegistry >)
#pragma define(OBObjForSeq< OCI_ConFactoryRegistry >)
#endif
#endif

void
OBDuplicate(OCI_ConFactoryRegistry_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_ConFactoryRegistry_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_ConFactoryRegistry_ptr
OCI_ConFactoryRegistry::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/ConFactoryRegistry:1.0");

        if(v)
            return _duplicate((OCI_ConFactoryRegistry_ptr)v);
    }

    return _nil();
}

void*
OCI_ConFactoryRegistry::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/ConFactoryRegistry:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_ConFactoryRegistry::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/ConFactoryRegistry:1.0";
}

//
// IDL:ooc.com/OCI/AccRegistry:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_AccRegistry >;
template class OBObjForSeq< OCI_AccRegistry >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_AccRegistry >)
#pragma define(OBObjForSeq< OCI_AccRegistry >)
#endif
#endif

void
OBDuplicate(OCI_AccRegistry_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_AccRegistry_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_AccRegistry_ptr
OCI_AccRegistry::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/AccRegistry:1.0");

        if(v)
            return _duplicate((OCI_AccRegistry_ptr)v);
    }

    return _nil();
}

void*
OCI_AccRegistry::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/AccRegistry:1.0", _ob_id) == 0)
        return (void*)this;
    else
        return CORBA_Object::_OB_narrowHelp(_ob_id);
}

const char*
OCI_AccRegistry::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/AccRegistry:1.0";
}

//
// IDL:ooc.com/OCI/Current:1.0
//
#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjVar< OCI_Current >;
template class OBObjForSeq< OCI_Current >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjVar< OCI_Current >)
#pragma define(OBObjForSeq< OCI_Current >)
#endif
#endif

void
OBDuplicate(OCI_Current_ptr p)
{
    if(p)
        p -> _OB_incRef();
}

void
OBRelease(OCI_Current_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

OCI_Current_ptr
OCI_Current::_narrow(CORBA_Object_ptr p)
{
    if(!CORBA_is_nil(p))
    {
        void* v = p -> _OB_narrowHelp("IDL:ooc.com/OCI/Current:1.0");

        if(v)
            return _duplicate((OCI_Current_ptr)v);
    }

    return _nil();
}

void*
OCI_Current::_OB_narrowHelp(const char* _ob_id) const
{
    if(strcmp("IDL:ooc.com/OCI/Current:1.0", _ob_id) == 0)
        return (void*)this;
    else
    {
        void* v;
        if((v = CORBA_Current::_OB_narrowHelp(_ob_id)) != 0)
            return v;
        return 0;
    }
}

const char*
OCI_Current::_OB_typeId() const
{
    return "IDL:ooc.com/OCI/Current:1.0";
}

//
// OBFixSeq< CORBA_ULong >
//
#ifdef OB_use_OBFixSeq_CORBA__ULong_from_OCI_h

#endif

//
// OBFixSeq< OBUnsignedChar >
//
#ifdef OB_use_OBFixSeq_OBUnsignedChar_from_OCI_h

#endif

//
// OBObjSeq< OCI_CloseCB >
//
#ifdef OB_use_OBObjSeq_OCI__CloseCB_from_OCI_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjSeq< OCI_CloseCB >;
template class OBSeqVar< OBObjSeq< OCI_CloseCB > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjSeq< OCI_CloseCB >)
#pragma define(OBSeqVar< OBObjSeq< OCI_CloseCB > >)
#endif
#endif

#endif

//
// OBObjSeq< CORBA_Policy >
//
#ifdef OB_use_OBObjSeq_CORBA__Policy_from_OCI_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjSeq< CORBA_Policy >;
template class OBSeqVar< OBObjSeq< CORBA_Policy > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjSeq< CORBA_Policy >)
#pragma define(OBSeqVar< OBObjSeq< CORBA_Policy > >)
#endif
#endif

#endif

//
// OBObjSeq< OCI_ConnectCB >
//
#ifdef OB_use_OBObjSeq_OCI__ConnectCB_from_OCI_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjSeq< OCI_ConnectCB >;
template class OBSeqVar< OBObjSeq< OCI_ConnectCB > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjSeq< OCI_ConnectCB >)
#pragma define(OBSeqVar< OBObjSeq< OCI_ConnectCB > >)
#endif
#endif

#endif

//
// OBObjSeq< OCI_Acceptor >
//
#ifdef OB_use_OBObjSeq_OCI__Acceptor_from_OCI_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjSeq< OCI_Acceptor >;
template class OBSeqVar< OBObjSeq< OCI_Acceptor > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjSeq< OCI_Acceptor >)
#pragma define(OBSeqVar< OBObjSeq< OCI_Acceptor > >)
#endif
#endif

#endif

//
// OBObjSeq< OCI_AcceptCB >
//
#ifdef OB_use_OBObjSeq_OCI__AcceptCB_from_OCI_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjSeq< OCI_AcceptCB >;
template class OBSeqVar< OBObjSeq< OCI_AcceptCB > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjSeq< OCI_AcceptCB >)
#pragma define(OBSeqVar< OBObjSeq< OCI_AcceptCB > >)
#endif
#endif

#endif

//
// OBObjSeq< OCI_ConFactory >
//
#ifdef OB_use_OBObjSeq_OCI__ConFactory_from_OCI_h

#ifndef HAVE_NO_EXPLICIT_TEMPLATES
template class OBObjSeq< OCI_ConFactory >;
template class OBSeqVar< OBObjSeq< OCI_ConFactory > >;
#else
#ifdef HAVE_PRAGMA_DEFINE
#pragma define(OBObjSeq< OCI_ConFactory >)
#pragma define(OBSeqVar< OBObjSeq< OCI_ConFactory > >)
#endif
#endif

#endif
