//----------------------------------------------------------------------------- // File: adojet.idl // // Copyright: Copyright (c) Microsoft Corporation // // Contents: IDL source for msjro.dll // // // Comments: This file will be processed by the MIDL tool to // produce the type library (adojet.tlb) and marshalling code. // //----------------------------------------------------------------------------- #include "jro.hh" #include "adodef.h" // Forwards interface IReplica; coclass Replica; interface Filter; interface Filters; interface IJetEngine; coclass JetEngine; #define DISPID_COLLECT ( -8 ) #define DEFAULT_METHOD id(0) cpp_quote("#define TARGET_IS_NT40_OR_LATER 1") [ JRO_TYPELIB_UUID, version(JRO_VERSION), helpfile(JRO_HELPFILE), helpstring(JRO_LIBRARYNAME) ] library JRO { importlib("stdole32.tlb"); importlib("stdole2.tlb"); importlib("ado10.tlb"); /************************************ Enums **********************************************/ typedef [ uuid(D2D139DF-B6CA-11d1-9F31-00C04FC29D52), ] enum ReplicaTypeEnum { [] jrRepTypeNotReplicable = 0x0000, [] jrRepTypeDesignMaster = 0x0001, [] jrRepTypeFull = 0x0002, [] jrRepTypePartial = 0x0003 } ReplicaTypeEnum; typedef [ uuid(6877D21A-B6CE-11d1-9F31-00C04FC29D52), ] enum VisibilityEnum { [] jrRepVisibilityGlobal = 0x0001, [] jrRepVisibilityLocal = 0x0002, [] jrRepVisibilityAnon = 0x0004 } VisibilityEnum; typedef [ uuid(B42FBFF6-B6CF-11d1-9F31-00C04FC29D52), ] enum UpdatabilityEnum { [] jrRepUpdFull = 0x0000, [] jrRepUpdReadOnly = 0x0002 } UpdatabilityEnum; /* typedef [ uuid(60C05416-B6D0-11d1-9F31-00C04FC29D52), ] enum ReplicationStateEnum { [] jrRepStateNotReplicable = 0x0000, [] jrRepStateLocal = 0x0001, [] jrRepStateReplicated = 0x0002 } ReplicationStateEnum; */ typedef [ uuid(60C05416-B6D0-11d1-9F31-00C04FC29D52), ] enum SyncTypeEnum { [] jrSyncTypeExport = 0x0001, [] jrSyncTypeImport = 0x0002, [] jrSyncTypeImpExp = 0x0003 } SyncTypeEnum; typedef [ uuid(5EBA3970-061E-11d2-BB77-00C04FAE22DA), ] enum SyncModeEnum { [] jrSyncModeIndirect = 0x0001, [] jrSyncModeDirect = 0x0002, [] jrSyncModeInternet = 0x0003 } SyncModeEnum; typedef [ uuid(72769F94-BF78-11d1-AC4D-00C04FC29F8F), ] enum FilterTypeEnum { [] jrFilterTypeTable = 0x0001, [] jrFilterTypeRelationship = 0x0002 } FilterTypeEnum; /******************************* Interfaces **********************************************/ [ object, uuid(D2D139E0-B6CA-11d1-9F31-00C04FC29D52), dual, helpstring("IReplica Interface"), pointer_default(unique) ] interface IReplica : IDispatch { import "oaidl.idl"; [ propputref, helpcontext(jrproActiveConnection) ] HRESULT ActiveConnection([in] IDispatch *pconn); [ propput, helpcontext(jrproActiveConnection) ] HRESULT ActiveConnection([in] VARIANT vConn); [ propget, helpcontext(jrproActiveConnection) ] HRESULT ActiveConnection([out, retval] IDispatch **ppconn); [ propget, helpcontext(jrproConflictFunction) ] HRESULT ConflictFunction([out, retval] BSTR *pbstr); [ propput, helpcontext(jrproConflictFunction) ] HRESULT ConflictFunction([in] BSTR bstr); [ propget, helpcontext(jrproConflictTables) ] HRESULT ConflictTables([out, retval] ADODB._Recordset **pprset); [ propget, helpcontext(jrproDesignMasterId) ] HRESULT DesignMasterId([out, retval] VARIANT *pvar); [ propput, helpcontext(jrproDesignMasterId) ] HRESULT DesignMasterId([in] VARIANT var); [ propget, helpcontext(jrproPriority) ] HRESULT Priority([out, retval] long *pl); [ propget, helpcontext(jrproReplicaId) ] HRESULT ReplicaId([out, retval] VARIANT *pvar); [ propget, helpcontext(jrproReplicaType) ] HRESULT ReplicaType([out, retval] ReplicaTypeEnum *pl); [ propget, helpcontext(jrproRetentionPeriod) ] HRESULT RetentionPeriod([out, retval] long *pl); [ propput, helpcontext(jrproRetentionPeriod) ] HRESULT RetentionPeriod([in] long l); [ propget, helpcontext(jrproVisibility) ] HRESULT Visibility([out, retval] VisibilityEnum *pl); [ helpcontext(jrmthCreateReplica) ] HRESULT CreateReplica( [in] BSTR replicaName, [in] BSTR description, [in, defaultvalue(jrRepTypeFull)] ReplicaTypeEnum replicaType, [in, defaultvalue(jrRepVisibilityGlobal)] VisibilityEnum visibility, [in, defaultvalue(-1)] long priority, [in, defaultvalue(jrRepUpdFull)] UpdatabilityEnum updatability); [ helpcontext(jrmthGetObjectReplicability) ] HRESULT GetObjectReplicability( [in] BSTR objectName, [in] BSTR objectType, [out, retval] VARIANT_BOOL *replicability); [ helpcontext(jrmthSetObjectReplicability) ] HRESULT SetObjectReplicability( [in] BSTR objectName, [in] BSTR objectType, [in] VARIANT_BOOL replicability); [ helpcontext(jrmthMakeReplicable) ] HRESULT MakeReplicable( [in, defaultvalue("")] BSTR connectionString, [in, defaultvalue(-1)] VARIANT_BOOL columnTracking); [ helpcontext(jrmthPopulatePartial) ] HRESULT PopulatePartial( [in] BSTR FullReplica); [ helpcontext(jrmthSynchronize) ] HRESULT Synchronize( [in] BSTR target, [in, defaultvalue(jrSyncTypeImpExp)] SyncTypeEnum syncType, [in, defaultvalue(jrSyncModeIndirect)] SyncModeEnum syncMode); [ propget, helpcontext(jrcolFilters) ] HRESULT Filters([out, retval] Filters **ppFilters); }; //--------------------------------------------------------------------------------------------- [ object, uuid(D2D139E1-B6CA-11d1-9F31-00C04FC29D52), dual, helpstring("Filter Interface"), pointer_default(unique) ] interface Filter : IDispatch { import "oaidl.idl"; [ propget, helpcontext(jrproTableName) ] HRESULT TableName([out, retval] BSTR *pbstr); [ propget, helpcontext(jrproFilterType) ] HRESULT FilterType([out, retval] FilterTypeEnum *ptype); [ propget, helpcontext(jrproFilterCriteria) ] HRESULT FilterCriteria([out, retval] BSTR *pbstr); }; //--------------------------------------------------------------------------------------------- [ object, uuid(D2D139E2-B6CA-11d1-9F31-00C04FC29D52), dual, helpstring("Filters Interface"), pointer_default(unique) ] interface Filters : IDispatch { import "oaidl.idl"; [ helpcontext(jrmthRefresh) ] HRESULT Refresh(); [ restricted, id(-4) ] HRESULT _NewEnum( [out, retval] IUnknown **ppvObject ); [ propget, helpcontext(jrproCount) ] HRESULT Count( [out, retval]long *c ); [ propget, helpcontext(jrmthItem), DEFAULT_METHOD ] HRESULT Item( [in] VARIANT Index, [out, retval] Filter **ppvObject ); [ helpcontext(jrmthAppend) ] HRESULT Append( [in] BSTR tableName, [in] FilterTypeEnum filterType, [in] BSTR filterCriteria ); [ helpcontext(jrmthDelete) ] HRESULT Delete( [in] VARIANT Index ); } //--------------------------------------------------------------------------------------------- [ object, uuid(9F63D980-FF25-11D1-BB6F-00C04FAE22DA), dual, helpstring("IJetEngine Interface"), pointer_default(unique) ] interface IJetEngine : IDispatch { import "oaidl.idl"; [ helpcontext(jrmthCompactDatabase) ] HRESULT CompactDatabase( [in] BSTR SourceConnection, [in] BSTR Destconnection ); [ helpcontext(jrmthRefreshCache) ] HRESULT RefreshCache([in] ADODB._Connection* Connection); } /******************************* Coclasses **********************************************/ [ uuid(D2D139E3-B6CA-11d1-9F31-00C04FC29D52), helpstring("JRO Replica Class") ] coclass Replica { [default] interface IReplica; }; [ uuid(DE88C160-FF2C-11D1-BB6F-00C04FAE22DA), helpstring("JRO JetEngine Class") ] coclass JetEngine { [default] interface IJetEngine; }; };