/*====START_GENERATED_PROLOG======================================
 */
/*
 *   COMPONENT_NAME: odscript
 *
 *   CLASSES: none
 *
 *   ORIGINS: 27
 *
 *
 *   (C) COPYRIGHT International Business Machines Corp. 1995,1996
 *   All Rights Reserved
 *   Licensed Materials - Property of IBM
 *   US Government Users Restricted Rights - Use, duplication or
 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 *   	
 *   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 *   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 *   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
 *   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
 *   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
 *   OR PERFORMANCE OF THIS SOFTWARE.
 */
/*====END_GENERATED_PROLOG========================================
 */
// @(#) 1.9 com/src/odscript/oddsconn.h, odscript, od96nt, odnt9712d 10/31/96 12:44:42 [3/21/97 17:22:32]
//

#ifndef _ODDSCONN_H_
#define _ODDSCONN_H_


//typedef unsigned char Boolean;
//#include <iglobals.h>
#include <iostream.h>
#include <memory.h>
#include "oddslist.h"
// #include "oddsicon.h"

class  ODDSIConnectionPointContainer;
typedef ODDSIConnectionPointContainer * LPODDSOLECONNECTION;
typedef void * LPODDSLSCONNECTION;

#ifndef ODGUID_DEFINED
#define ODGUID_DEFINED
typedef struct _ODGUID
{
   unsigned long Data1;
   unsigned short Data2;
   unsigned short  Data3;
   unsigned char  Data4[8];
} ODGUID;
#endif

typedef void * ODDSRESULT;
typedef ODGUID * LPODGUID;
typedef void * LPOBJECT;
class ODDSEventMgr;
typedef ODDSList<ODDSEventMgr *> ODDSEventMgrList;
typedef ODDSEventMgrList * LPODDSEVENTMGRLIST;
                                         // Set for sink addresses
class ODDSSink;
typedef ODDSList<ODDSSink *> ODDSSinkSet;
typedef ODDSSinkSet * LPODDSSINKSET;

class ODDSSinkEnum;
typedef ODDSList<ODDSSinkEnum *> ODDSSinkEnumSet ;
// Error codes
enum {
       ODDS_ERROR_EVENTMGR_DUPLICATE     = -100,
       ODDS_ERROR_EVENTMGR_NOTFOUND      = -101,
       ODDS_ERROR_NO_EVENTMGRS           = -102,
       ODDS_ERROR_OUTOFMEMORY            = -103,
       ODDS_ERROR_INVALID_CURSOR         = -104,
       ODDS_ERROR_END_RANGE              = -105,
       ODDS_ERROR_SINK_DUPLICATE         = -106,
       ODDS_ERROR_FIRING_ALREADY_PREPARED= -107,
       ODDS_ERROR_NO_SINKS               = -108,
       ODDS_ERROR_EVENT_NOTIMPL_BY_SINK  = -109,
       ODDS_ERROR_NOT_IMPLEMENTED        = -110,
       ODDS_ERROR_INVALID_PARAMETER      = -111,
       ODDS_ERROR_ODGUID_NOT_SUPPORTED   = -112,
       ODDS_ERROR_OLECONNECTION          = -113,
       ODDS_ERROR_INVALID_ARG_TYPE       = -114,
       ODDS_ERROR_FAILURE_ON_DISPATCH    = -115,
       ODDS_ERROR_GETDISP_FAILED         = -116,
       ODDS_ERROR_PARAMETER_CONVERSION   = -117,
       ODDS_ERROR_MUTEX_FAILED           = -118
     };


// Sink Types

enum {
        ODDS_SINK_TYPE_OLE               =  1,
        ODDS_SINK_TYPE_LS                =  2,
        ODDS_SINK_TYPE_SOM               =  3
};



/*
*/
#endif //_ODDSCONN_H_

