// **********************************************************************
//
// Copyright (c) 1999
// Object Oriented Concepts, Inc.
// Billerica, MA, USA
//
// All Rights Reserved
//
// **********************************************************************

#ifndef OB_DECLARATIONS_H
#define OB_DECLARATIONS_H

class OBConstructedInfo;
class OBTypeCodeConst;

class CORBA_Object;
typedef CORBA_Object* CORBA_Object_ptr;
void OBDuplicate(CORBA_Object_ptr);
void OBRelease(CORBA_Object_ptr);
typedef OBObjVar< CORBA_Object > CORBA_Object_var;

class CORBA_Policy;
typedef CORBA_Policy* CORBA_Policy_ptr;
void OBDuplicate(CORBA_Policy_ptr);
void OBRelease(CORBA_Policy_ptr);
typedef OBObjVar< CORBA_Policy > CORBA_Policy_var;
typedef OBObjSeq< CORBA_Policy > CORBA_PolicyList;
typedef OBSeqVar< OBObjSeq< CORBA_Policy > > CORBA_PolicyList_var;

typedef CORBA_ULong CORBA_PolicyType;
typedef OBFixSeq< CORBA_PolicyType > CORBA_PolicyTypeSeq;
typedef OBSeqVar< OBFixSeq< CORBA_PolicyType > > CORBA_PolicyTypeSeq_var;

class CORBA_TypeCode;
typedef CORBA_TypeCode* CORBA_TypeCode_ptr;
void OBDuplicate(CORBA_TypeCode_ptr);
void OBRelease(CORBA_TypeCode_ptr);
typedef OBObjVar< CORBA_TypeCode > CORBA_TypeCode_var;

class CORBA_Principal;
typedef CORBA_Principal* CORBA_Principal_ptr;
void OBDuplicate(CORBA_Principal_ptr);
void OBRelease(CORBA_Principal_ptr);
typedef OBObjVar< CORBA_Principal > CORBA_Principal_var;

class CORBA_Environment;
typedef CORBA_Environment* CORBA_Environment_ptr;
void OBDuplicate(CORBA_Environment_ptr);
void OBRelease(CORBA_Environment_ptr);
typedef OBObjVar< CORBA_Environment > CORBA_Environment_var;

class CORBA_Context;
typedef CORBA_Context* CORBA_Context_ptr;
void OBDuplicate(CORBA_Context_ptr);
void OBRelease(CORBA_Context_ptr);
typedef OBObjVar< CORBA_Context > CORBA_Context_var;

class CORBA_NamedValue;
typedef CORBA_NamedValue* CORBA_NamedValue_ptr;
void OBDuplicate(CORBA_NamedValue_ptr);
void OBRelease(CORBA_NamedValue_ptr);
typedef OBObjVar< CORBA_NamedValue > CORBA_NamedValue_var;

class CORBA_NVList;
typedef CORBA_NVList* CORBA_NVList_ptr;
void OBDuplicate(CORBA_NVList_ptr);
void OBRelease(CORBA_NVList_ptr);
typedef OBObjVar< CORBA_NVList > CORBA_NVList_var;

class CORBA_ExceptionList;
typedef CORBA_ExceptionList* CORBA_ExceptionList_ptr;
void OBDuplicate(CORBA_ExceptionList_ptr);
void OBRelease(CORBA_ExceptionList_ptr);
typedef OBObjVar< CORBA_ExceptionList > CORBA_ExceptionList_var;

class CORBA_ContextList;
typedef CORBA_ContextList* CORBA_ContextList_ptr;
void OBDuplicate(CORBA_ContextList_ptr);
void OBRelease(CORBA_ContextList_ptr);
typedef OBObjVar< CORBA_ContextList > CORBA_ContextList_var;

class CORBA_Request;
typedef CORBA_Request* CORBA_Request_ptr;
void OBDuplicate(CORBA_Request_ptr);
void OBRelease(CORBA_Request_ptr);
typedef OBObjVar< CORBA_Request > CORBA_Request_var;

class CORBA_ImplementationDef;
typedef CORBA_ImplementationDef* CORBA_ImplementationDef_ptr;
void OBDuplicate(CORBA_ImplementationDef_ptr);
void OBRelease(CORBA_ImplementationDef_ptr);
typedef OBObjVar< CORBA_ImplementationDef > CORBA_ImplementationDef_var;

class CORBA_InterfaceDef;
typedef CORBA_InterfaceDef* CORBA_InterfaceDef_ptr;
void OBDuplicate(CORBA_InterfaceDef_ptr);
void OBRelease(CORBA_InterfaceDef_ptr);
typedef OBObjVar< CORBA_InterfaceDef > CORBA_InterfaceDef_var;

class CORBA_OperationDef;
typedef CORBA_OperationDef* CORBA_OperationDef_ptr;
void OBDuplicate(CORBA_OperationDef_ptr);
void OBRelease(CORBA_OperationDef_ptr);
typedef OBObjVar< CORBA_OperationDef > CORBA_OperationDef_var;

class CORBA_ORB;
typedef CORBA_ORB* CORBA_ORB_ptr;
void OBDuplicate(CORBA_ORB_ptr);
void OBRelease(CORBA_ORB_ptr);
typedef OBObjVar< CORBA_ORB > CORBA_ORB_var;

class CORBA_BOA;
typedef CORBA_BOA* CORBA_BOA_ptr;
void OBDuplicate(CORBA_BOA_ptr);
void OBRelease(CORBA_BOA_ptr);
typedef OBObjVar< CORBA_BOA > CORBA_BOA_var;

class CORBA_DynAny;
typedef CORBA_DynAny* CORBA_DynAny_ptr;
void OBDuplicate(CORBA_DynAny_ptr);
void OBRelease(CORBA_DynAny_ptr);
typedef OBObjVar< CORBA_DynAny > CORBA_DynAny_var;

class CORBA_DynFixed;
typedef CORBA_DynFixed* CORBA_DynFixed_ptr;
void OBDuplicate(CORBA_DynFixed_ptr);
void OBRelease(CORBA_DynFixed_ptr);
typedef OBObjVar< CORBA_DynFixed > CORBA_DynFixed_var;

class CORBA_DynEnum;
typedef CORBA_DynEnum* CORBA_DynEnum_ptr;
void OBDuplicate(CORBA_DynEnum_ptr);
void OBRelease(CORBA_DynEnum_ptr);
typedef OBObjVar< CORBA_DynEnum > CORBA_DynEnum_var;

class CORBA_DynStruct;
typedef CORBA_DynStruct* CORBA_DynStruct_ptr;
void OBDuplicate(CORBA_DynStruct_ptr);
void OBRelease(CORBA_DynStruct_ptr);
typedef OBObjVar< CORBA_DynStruct > CORBA_DynStruct_var;

class CORBA_DynUnion;
typedef CORBA_DynUnion* CORBA_DynUnion_ptr;
void OBDuplicate(CORBA_DynUnion_ptr);
void OBRelease(CORBA_DynUnion_ptr);
typedef OBObjVar< CORBA_DynUnion > CORBA_DynUnion_var;

class CORBA_DynSequence;
typedef CORBA_DynSequence* CORBA_DynSequence_ptr;
void OBDuplicate(CORBA_DynSequence_ptr);
void OBRelease(CORBA_DynSequence_ptr);
typedef OBObjVar< CORBA_DynSequence > CORBA_DynSequence_var;

class CORBA_DynArray;
typedef CORBA_DynArray* CORBA_DynArray_ptr;
void OBDuplicate(CORBA_DynArray_ptr);
void OBRelease(CORBA_DynArray_ptr);
typedef OBObjVar< CORBA_DynArray > CORBA_DynArray_var;

class OCI_Buffer;
typedef OCI_Buffer* OCI_Buffer_ptr;
void OBDuplicate(OCI_Buffer_ptr);
void OBRelease(OCI_Buffer_ptr);
typedef OBObjVar< OCI_Buffer > OCI_Buffer_var;

class OCI_TransportInfo;
typedef OCI_TransportInfo* OCI_TransportInfo_ptr;
void OBDuplicate(OCI_TransportInfo_ptr);
void OBRelease(OCI_TransportInfo_ptr);
typedef OBObjVar< OCI_TransportInfo > OCI_TransportInfo_var;

class OCI_Transport;
typedef OCI_Transport* OCI_Transport_ptr;
void OBDuplicate(OCI_Transport_ptr);
void OBRelease(OCI_Transport_ptr);
typedef OBObjVar< OCI_Transport > OCI_Transport_var;

class OCI_ConnectorInfo;
typedef OCI_ConnectorInfo* OCI_ConnectorInfo_ptr;
void OBDuplicate(OCI_ConnectorInfo_ptr);
void OBRelease(OCI_ConnectorInfo_ptr);
typedef OBObjVar< OCI_ConnectorInfo > OCI_ConnectorInfo_var;

class OCI_Connector;
typedef OCI_Connector* OCI_Connector_ptr;
void OBDuplicate(OCI_Connector_ptr);
void OBRelease(OCI_Connector_ptr);
typedef OBObjVar< OCI_Connector > OCI_Connector_var;

class OCI_AcceptorInfo;
typedef OCI_AcceptorInfo* OCI_AcceptorInfo_ptr;
void OBDuplicate(OCI_AcceptorInfo_ptr);
void OBRelease(OCI_AcceptorInfo_ptr);
typedef OBObjVar< OCI_AcceptorInfo > OCI_AcceptorInfo_var;

class OCI_Acceptor;
typedef OCI_Acceptor* OCI_Acceptor_ptr;
void OBDuplicate(OCI_Acceptor_ptr);
void OBRelease(OCI_Acceptor_ptr);
typedef OBObjVar< OCI_Acceptor > OCI_Acceptor_var;

class OCI_ConFactory;
typedef OCI_ConFactory* OCI_ConFactory_ptr;
void OBDuplicate(OCI_ConFactory_ptr);
void OBRelease(OCI_ConFactory_ptr);
typedef OBObjVar< OCI_ConFactory > OCI_ConFactory_var;

class OCI_ConFactoryRegistry;
typedef OCI_ConFactoryRegistry* OCI_ConFactoryRegistry_ptr;
void OBDuplicate(OCI_ConFactoryRegistry_ptr);
void OBRelease(OCI_ConFactoryRegistry_ptr);
typedef OBObjVar< OCI_ConFactoryRegistry > OCI_ConFactoryRegistry_var;

class OCI_AccRegistry;
typedef OCI_AccRegistry* OCI_AccRegistry_ptr;
void OBDuplicate(OCI_AccRegistry_ptr);
void OBRelease(OCI_AccRegistry_ptr);
typedef OBObjVar< OCI_AccRegistry > OCI_AccRegistry_var;

class OCI_Current;
typedef OCI_Current* OCI_Current_ptr;
void OBDuplicate(OCI_Current_ptr);
void OBRelease(OCI_Current_ptr);
typedef OBObjVar< OCI_Current > OCI_Current_var;

#endif
