// Created by Microsoft (R) C/C++ Compiler Version 12.00.8867.0 (6a2c11fd).
//
// c:\dev\admt\dbmgr\debug\msjro.tlh
//
// C++ source equivalent of Win32 type library msjro.dll
// compiler-generated file created 02/13/01 at 16:18:03 - DO NOT EDIT!

//
// Cross-referenced type libraries:
//
//  #import "C:\Program Files\Common Files\System\ado\msado15.dll"
//

#pragma once
#pragma pack(push, 8)

#include <comdef.h>

//
// Forward references and typedefs
//

struct __declspec(uuid("d2d139e0-b6ca-11d1-9f31-00c04fc29d52"))
/* dual interface */ IReplica;
struct __declspec(uuid("d2d139e2-b6ca-11d1-9f31-00c04fc29d52"))
/* dual interface */ Filters;
struct __declspec(uuid("d2d139e1-b6ca-11d1-9f31-00c04fc29d52"))
/* dual interface */ Filter;
struct __declspec(uuid("9f63d980-ff25-11d1-bb6f-00c04fae22da"))
/* dual interface */ IJetEngine;
struct /* coclass */ Replica;
struct /* coclass */ JetEngine;

//
// Smart pointer typedef declarations
//

_COM_SMARTPTR_TYPEDEF(IReplica, __uuidof(IReplica));
_COM_SMARTPTR_TYPEDEF(Filters, __uuidof(Filters));
_COM_SMARTPTR_TYPEDEF(Filter, __uuidof(Filter));
_COM_SMARTPTR_TYPEDEF(IJetEngine, __uuidof(IJetEngine));

//
// Type library items
//

enum ReplicaTypeEnum
{
    jrRepTypeNotReplicable = 0,
    jrRepTypeDesignMaster = 1,
    jrRepTypeFull = 2,
    jrRepTypePartial = 3
};

enum VisibilityEnum
{
    jrRepVisibilityGlobal = 1,
    jrRepVisibilityLocal = 2,
    jrRepVisibilityAnon = 4
};

enum UpdatabilityEnum
{
    jrRepUpdFull = 0,
    jrRepUpdReadOnly = 2
};

enum SyncTypeEnum
{
    jrSyncTypeExport = 1,
    jrSyncTypeImport = 2,
    jrSyncTypeImpExp = 3
};

enum SyncModeEnum
{
    jrSyncModeIndirect = 1,
    jrSyncModeDirect = 2,
    jrSyncModeInternet = 3
};

enum FilterTypeEnum
{
    jrFilterTypeTable = 1,
    jrFilterTypeRelationship = 2
};

struct __declspec(uuid("d2d139e0-b6ca-11d1-9f31-00c04fc29d52"))
IReplica : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetActiveConnection,put=PutRefActiveConnection))
    IDispatchPtr ActiveConnection;
    __declspec(property(get=GetConflictFunction,put=PutConflictFunction))
    _bstr_t ConflictFunction;
    __declspec(property(get=GetConflictTables))
    _RecordsetPtr ConflictTables;
    __declspec(property(get=GetDesignMasterId,put=PutDesignMasterId))
    _variant_t DesignMasterId;
    __declspec(property(get=GetPriority))
    long Priority;
    __declspec(property(get=GetReplicaId))
    _variant_t ReplicaId;
    __declspec(property(get=GetReplicaType))
    enum ReplicaTypeEnum ReplicaType;
    __declspec(property(get=GetRetentionPeriod,put=PutRetentionPeriod))
    long RetentionPeriod;
    __declspec(property(get=GetVisibility))
    enum VisibilityEnum Visibility;
    __declspec(property(get=GetFilters))
    FiltersPtr Filters;

    //
    // Wrapper methods for error-handling
    //

    void PutRefActiveConnection (
        IDispatch * ppconn );
    void PutActiveConnection (
        const _variant_t & ppconn );
    IDispatchPtr GetActiveConnection ( );
    _bstr_t GetConflictFunction ( );
    void PutConflictFunction (
        _bstr_t pbstr );
    _RecordsetPtr GetConflictTables ( );
    _variant_t GetDesignMasterId ( );
    void PutDesignMasterId (
        const _variant_t & pvar );
    long GetPriority ( );
    _variant_t GetReplicaId ( );
    enum ReplicaTypeEnum GetReplicaType ( );
    long GetRetentionPeriod ( );
    void PutRetentionPeriod (
        long pl );
    enum VisibilityEnum GetVisibility ( );
    HRESULT CreateReplica (
        _bstr_t replicaName,
        _bstr_t description,
        enum ReplicaTypeEnum ReplicaType,
        enum VisibilityEnum Visibility,
        long Priority,
        enum UpdatabilityEnum updatability );
    VARIANT_BOOL GetObjectReplicability (
        _bstr_t objectName,
        _bstr_t objectType );
    HRESULT SetObjectReplicability (
        _bstr_t objectName,
        _bstr_t objectType,
        VARIANT_BOOL replicability );
    HRESULT MakeReplicable (
        _bstr_t connectionString,
        VARIANT_BOOL columnTracking );
    HRESULT PopulatePartial (
        _bstr_t FullReplica );
    HRESULT Synchronize (
        _bstr_t target,
        enum SyncTypeEnum syncType,
        enum SyncModeEnum syncMode );
    FiltersPtr GetFilters ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall putref_ActiveConnection (
        IDispatch * ppconn ) = 0;
    virtual HRESULT __stdcall put_ActiveConnection (
        VARIANT ppconn ) = 0;
    virtual HRESULT __stdcall get_ActiveConnection (
        IDispatch * * ppconn ) = 0;
    virtual HRESULT __stdcall get_ConflictFunction (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall put_ConflictFunction (
        BSTR pbstr ) = 0;
    virtual HRESULT __stdcall get_ConflictTables (
        struct _Recordset * * pprset ) = 0;
    virtual HRESULT __stdcall get_DesignMasterId (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall put_DesignMasterId (
        VARIANT pvar ) = 0;
    virtual HRESULT __stdcall get_Priority (
        long * pl ) = 0;
    virtual HRESULT __stdcall get_ReplicaId (
        VARIANT * pvar ) = 0;
    virtual HRESULT __stdcall get_ReplicaType (
        enum ReplicaTypeEnum * pl ) = 0;
    virtual HRESULT __stdcall get_RetentionPeriod (
        long * pl ) = 0;
    virtual HRESULT __stdcall put_RetentionPeriod (
        long pl ) = 0;
    virtual HRESULT __stdcall get_Visibility (
        enum VisibilityEnum * pl ) = 0;
    virtual HRESULT __stdcall raw_CreateReplica (
        BSTR replicaName,
        BSTR description,
        enum ReplicaTypeEnum ReplicaType,
        enum VisibilityEnum Visibility,
        long Priority,
        enum UpdatabilityEnum updatability ) = 0;
    virtual HRESULT __stdcall raw_GetObjectReplicability (
        BSTR objectName,
        BSTR objectType,
        VARIANT_BOOL * replicability ) = 0;
    virtual HRESULT __stdcall raw_SetObjectReplicability (
        BSTR objectName,
        BSTR objectType,
        VARIANT_BOOL replicability ) = 0;
    virtual HRESULT __stdcall raw_MakeReplicable (
        BSTR connectionString,
        VARIANT_BOOL columnTracking ) = 0;
    virtual HRESULT __stdcall raw_PopulatePartial (
        BSTR FullReplica ) = 0;
    virtual HRESULT __stdcall raw_Synchronize (
        BSTR target,
        enum SyncTypeEnum syncType,
        enum SyncModeEnum syncMode ) = 0;
    virtual HRESULT __stdcall get_Filters (
        struct Filters * * ppFilters ) = 0;
};

struct __declspec(uuid("d2d139e2-b6ca-11d1-9f31-00c04fc29d52"))
Filters : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetItem))
    FilterPtr Item[];
    __declspec(property(get=GetCount))
    long Count;

    //
    // Wrapper methods for error-handling
    //

    HRESULT Refresh ( );
    IUnknownPtr _NewEnum ( );
    long GetCount ( );
    FilterPtr GetItem (
        const _variant_t & Index );
    HRESULT Append (
        _bstr_t TableName,
        enum FilterTypeEnum FilterType,
        _bstr_t FilterCriteria );
    HRESULT Delete (
        const _variant_t & Index );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_Refresh ( ) = 0;
    virtual HRESULT __stdcall raw__NewEnum (
        IUnknown * * ppvObject ) = 0;
    virtual HRESULT __stdcall get_Count (
        long * c ) = 0;
    virtual HRESULT __stdcall get_Item (
        VARIANT Index,
        struct Filter * * ppvObject ) = 0;
    virtual HRESULT __stdcall raw_Append (
        BSTR TableName,
        enum FilterTypeEnum FilterType,
        BSTR FilterCriteria ) = 0;
    virtual HRESULT __stdcall raw_Delete (
        VARIANT Index ) = 0;
};

struct __declspec(uuid("d2d139e1-b6ca-11d1-9f31-00c04fc29d52"))
Filter : IDispatch
{
    //
    // Property data
    //

    __declspec(property(get=GetTableName))
    _bstr_t TableName;
    __declspec(property(get=GetFilterType))
    enum FilterTypeEnum FilterType;
    __declspec(property(get=GetFilterCriteria))
    _bstr_t FilterCriteria;

    //
    // Wrapper methods for error-handling
    //

    _bstr_t GetTableName ( );
    enum FilterTypeEnum GetFilterType ( );
    _bstr_t GetFilterCriteria ( );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall get_TableName (
        BSTR * pbstr ) = 0;
    virtual HRESULT __stdcall get_FilterType (
        enum FilterTypeEnum * ptype ) = 0;
    virtual HRESULT __stdcall get_FilterCriteria (
        BSTR * pbstr ) = 0;
};

struct __declspec(uuid("9f63d980-ff25-11d1-bb6f-00c04fae22da"))
IJetEngine : IDispatch
{
    //
    // Wrapper methods for error-handling
    //

    HRESULT CompactDatabase (
        _bstr_t SourceConnection,
        _bstr_t Destconnection );
    HRESULT RefreshCache (
        struct _Connection * Connection );

    //
    // Raw methods provided by interface
    //

    virtual HRESULT __stdcall raw_CompactDatabase (
        BSTR SourceConnection,
        BSTR Destconnection ) = 0;
    virtual HRESULT __stdcall raw_RefreshCache (
        struct _Connection * Connection ) = 0;
};

struct __declspec(uuid("d2d139e3-b6ca-11d1-9f31-00c04fc29d52"))
Replica;
    // [ default ] interface IReplica

struct __declspec(uuid("de88c160-ff2c-11d1-bb6f-00c04fae22da"))
JetEngine;
    // [ default ] interface IJetEngine

#pragma pack(pop)