Unit JRO_2_6_TLB;

//  Imported JRO on 21.12.2013 13:09:42 from C:\Program Files (x86)\Common Files\System\ado\msjro.dll

{$mode delphi}{$H+}

interface

// Dependency: ADODB v2.8 (C:\Program Files (x86)\Common Files\System\ado\msado28.tlb)
Uses
  Windows,ActiveX,Classes,Variants,ADODB_2_8_TLB,ActiveXContainer;
Const
  JROMajorVersion = 2;
  JROMinorVersion = 6;
  JROLCID = 0;
  LIBID_JRO : TGUID = '{AC3B8B4C-B6CA-11D1-9F31-00C04FC29D52}';

  IID_IReplica : TGUID = '{D2D139E0-B6CA-11D1-9F31-00C04FC29D52}';
  IID_Filters : TGUID = '{D2D139E2-B6CA-11D1-9F31-00C04FC29D52}';
  IID_Filter : TGUID = '{D2D139E1-B6CA-11D1-9F31-00C04FC29D52}';
  IID_IJetEngine : TGUID = '{9F63D980-FF25-11D1-BB6F-00C04FAE22DA}';
  CLASS_Replica : TGUID = '{D2D139E3-B6CA-11D1-9F31-00C04FC29D52}';
  CLASS_JetEngine : TGUID = '{DE88C160-FF2C-11D1-BB6F-00C04FAE22DA}';

//Enums

Type
  ReplicaTypeEnum =LongWord;
Const
  jrRepTypeNotReplicable = $0000000000000000;
  jrRepTypeDesignMaster = $0000000000000001;
  jrRepTypeFull = $0000000000000002;
  jrRepTypePartial = $0000000000000003;
Type
  VisibilityEnum =LongWord;
Const
  jrRepVisibilityGlobal = $0000000000000001;
  jrRepVisibilityLocal = $0000000000000002;
  jrRepVisibilityAnon = $0000000000000004;
Type
  UpdatabilityEnum =LongWord;
Const
  jrRepUpdFull = $0000000000000000;
  jrRepUpdReadOnly = $0000000000000002;
Type
  SyncTypeEnum =LongWord;
Const
  jrSyncTypeExport = $0000000000000001;
  jrSyncTypeImport = $0000000000000002;
  jrSyncTypeImpExp = $0000000000000003;
Type
  SyncModeEnum =LongWord;
Const
  jrSyncModeIndirect = $0000000000000001;
  jrSyncModeDirect = $0000000000000002;
  jrSyncModeInternet = $0000000000000003;
Type
  FilterTypeEnum =LongWord;
Const
  jrFilterTypeTable = $0000000000000001;
  jrFilterTypeRelationship = $0000000000000002;
//Forward declarations

Type
 IReplica = interface;
 IReplicaDisp = dispinterface;
 Filters = interface;
 FiltersDisp = dispinterface;
 Filter = interface;
 FilterDisp = dispinterface;
 IJetEngine = interface;
 IJetEngineDisp = dispinterface;

//Map CoClass to its default interface

 Replica = IReplica;
 JetEngine = IJetEngine;

//records, unions, aliases


//interface declarations

// IReplica : IReplica Interface

 IReplica = interface(IDispatch)
   ['{D2D139E0-B6CA-11D1-9F31-00C04FC29D52}']
   procedure Set_ActiveConnection(const ppconn:IDispatch); safecall;
   procedure Set_ActiveConnection_(const ppconn:OleVariant); safecall;
   function Get_ActiveConnection : IDispatch; safecall;
   function Get_ConflictFunction : WideString; safecall;
   procedure Set_ConflictFunction(const pbstr:WideString); safecall;
   function Get_ConflictTables : _Recordset; safecall;
   function Get_DesignMasterId : OleVariant; safecall;
   procedure Set_DesignMasterId(const pvar:OleVariant); safecall;
   function Get_Priority : Integer; safecall;
   function Get_ReplicaId : OleVariant; safecall;
   function Get_ReplicaType : ReplicaTypeEnum; safecall;
   function Get_RetentionPeriod : Integer; safecall;
   procedure Set_RetentionPeriod(const pl:Integer); safecall;
   function Get_Visibility : VisibilityEnum; safecall;
    // CreateReplica :  
   procedure CreateReplica(replicaName:WideString;description:WideString;ReplicaType:ReplicaTypeEnum;Visibility:VisibilityEnum;Priority:Integer;updatability:UpdatabilityEnum);safecall;
    // GetObjectReplicability :  
   function GetObjectReplicability(objectName:WideString;objectType:WideString):WordBool;safecall;
    // SetObjectReplicability :  
   procedure SetObjectReplicability(objectName:WideString;objectType:WideString;replicability:WordBool);safecall;
    // MakeReplicable :  
   procedure MakeReplicable(connectionString:WideString;columnTracking:WordBool);safecall;
    // PopulatePartial :  
   procedure PopulatePartial(FullReplica:WideString);safecall;
    // Synchronize :  
   procedure Synchronize(target:WideString;syncType:SyncTypeEnum;syncMode:SyncModeEnum);safecall;
   function Get_Filters : Filters; safecall;
    // ActiveConnection :  
   property ActiveConnection:IDispatch read Get_ActiveConnection write Set_ActiveConnection;
    // ConflictFunction :  
   property ConflictFunction:WideString read Get_ConflictFunction write Set_ConflictFunction;
    // ConflictTables :  
   property ConflictTables:_Recordset read Get_ConflictTables;
    // DesignMasterId :  
   property DesignMasterId:OleVariant read Get_DesignMasterId write Set_DesignMasterId;
    // Priority :  
   property Priority:Integer read Get_Priority;
    // ReplicaId :  
   property ReplicaId:OleVariant read Get_ReplicaId;
    // ReplicaType :  
   property ReplicaType:ReplicaTypeEnum read Get_ReplicaType;
    // RetentionPeriod :  
   property RetentionPeriod:Integer read Get_RetentionPeriod write Set_RetentionPeriod;
    // Visibility :  
   property Visibility:VisibilityEnum read Get_Visibility;
    // Filters :  
   property Filters:Filters read Get_Filters;
  end;


// IReplica : IReplica Interface

 IReplicaDisp = dispinterface
   ['{D2D139E0-B6CA-11D1-9F31-00C04FC29D52}']
    // CreateReplica :  
   procedure CreateReplica(replicaName:WideString;description:WideString;ReplicaType:ReplicaTypeEnum;Visibility:VisibilityEnum;Priority:Integer;updatability:UpdatabilityEnum);dispid 1610743822;
    // GetObjectReplicability :  
   function GetObjectReplicability(objectName:WideString;objectType:WideString):WordBool;dispid 1610743823;
    // SetObjectReplicability :  
   procedure SetObjectReplicability(objectName:WideString;objectType:WideString;replicability:WordBool);dispid 1610743824;
    // MakeReplicable :  
   procedure MakeReplicable(connectionString:WideString;columnTracking:WordBool);dispid 1610743825;
    // PopulatePartial :  
   procedure PopulatePartial(FullReplica:WideString);dispid 1610743826;
    // Synchronize :  
   procedure Synchronize(target:WideString;syncType:SyncTypeEnum;syncMode:SyncModeEnum);dispid 1610743827;
    // ActiveConnection :  
   property ActiveConnection:IDispatch dispid 1610743808;
    // ConflictFunction :  
   property ConflictFunction:WideString dispid 1610743811;
    // ConflictTables :  
   property ConflictTables:_Recordset  readonly dispid 1610743813;
    // DesignMasterId :  
   property DesignMasterId:OleVariant dispid 1610743814;
    // Priority :  
   property Priority:Integer  readonly dispid 1610743816;
    // ReplicaId :  
   property ReplicaId:OleVariant  readonly dispid 1610743817;
    // ReplicaType :  
   property ReplicaType:ReplicaTypeEnum  readonly dispid 1610743818;
    // RetentionPeriod :  
   property RetentionPeriod:Integer dispid 1610743819;
    // Visibility :  
   property Visibility:VisibilityEnum  readonly dispid 1610743821;
    // Filters :  
   property Filters:Filters  readonly dispid 1610743828;
  end;


// Filters : Filters Interface

 Filters = interface(IDispatch)
   ['{D2D139E2-B6CA-11D1-9F31-00C04FC29D52}']
    // Refresh :  
   procedure Refresh;safecall;
    // _NewEnum :  
   function _NewEnum:IUnknown;safecall;
   function Get_Count : Integer; safecall;
   function Get_Item(Index:OleVariant) : Filter; safecall;
    // Append :  
   procedure Append(TableName:WideString;FilterType:FilterTypeEnum;FilterCriteria:WideString);safecall;
    // Delete :  
   procedure Delete(Index:OleVariant);safecall;
    // Count :  
   property Count:Integer read Get_Count;
    // Item :  
   property Item[Index:OleVariant]:Filter read Get_Item; default;
  end;


// Filters : Filters Interface

 FiltersDisp = dispinterface
   ['{D2D139E2-B6CA-11D1-9F31-00C04FC29D52}']
    // Refresh :  
   procedure Refresh;dispid 1610743808;
    // _NewEnum :  
   function _NewEnum:IUnknown;dispid -4;
    // Append :  
   procedure Append(TableName:WideString;FilterType:FilterTypeEnum;FilterCriteria:WideString);dispid 1610743812;
    // Delete :  
   procedure Delete(Index:OleVariant);dispid 1610743813;
    // Count :  
   property Count:Integer  readonly dispid 1610743810;
    // Item :  
   property Item[Index:OleVariant]:Filter  readonly dispid 0; default;
  end;


// Filter : Filter Interface

 Filter = interface(IDispatch)
   ['{D2D139E1-B6CA-11D1-9F31-00C04FC29D52}']
   function Get_TableName : WideString; safecall;
   function Get_FilterType : FilterTypeEnum; safecall;
   function Get_FilterCriteria : WideString; safecall;
    // TableName :  
   property TableName:WideString read Get_TableName;
    // FilterType :  
   property FilterType:FilterTypeEnum read Get_FilterType;
    // FilterCriteria :  
   property FilterCriteria:WideString read Get_FilterCriteria;
  end;


// Filter : Filter Interface

 FilterDisp = dispinterface
   ['{D2D139E1-B6CA-11D1-9F31-00C04FC29D52}']
    // TableName :  
   property TableName:WideString  readonly dispid 1610743808;
    // FilterType :  
   property FilterType:FilterTypeEnum  readonly dispid 1610743809;
    // FilterCriteria :  
   property FilterCriteria:WideString  readonly dispid 1610743810;
  end;


// IJetEngine : IJetEngine Interface

 IJetEngine = interface(IDispatch)
   ['{9F63D980-FF25-11D1-BB6F-00C04FAE22DA}']
    // CompactDatabase :  
   procedure CompactDatabase(SourceConnection:WideString;Destconnection:WideString);safecall;
    // RefreshCache :  
   procedure RefreshCache(Connection:_Connection);safecall;
  end;


// IJetEngine : IJetEngine Interface

 IJetEngineDisp = dispinterface
   ['{9F63D980-FF25-11D1-BB6F-00C04FAE22DA}']
    // CompactDatabase :  
   procedure CompactDatabase(SourceConnection:WideString;Destconnection:WideString);dispid 1610743808;
    // RefreshCache :  
   procedure RefreshCache(Connection:_Connection);dispid 1610743809;
  end;

//CoClasses
  CoReplica = Class
  Public
    Class Function Create: IReplica;
    Class Function CreateRemote(const MachineName: string): IReplica;
  end;

  TAxcReplica = Class(TActiveXContainer)
  Private
    FServer:IReplica;
  Public
    constructor Create(TheOwner: TComponent); override;
    destructor Destroy; override;
    property OleServer:IReplica read FServer;
  Published
    property Align;
    property Anchors;
    property AutoSize;
    property BorderSpacing;
    property ChildSizing;
    property ClientHeight;
    property ClientWidth;
    property Constraints;
    property DockSite;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property ParentShowHint;
    property PopupMenu;
    property ShowHint;
    property TabOrder;
    property TabStop;
    property UseDockManager default True;
    property Visible;
    property OnContextPopup;
    property OnDockDrop;
    property OnDockOver;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnEnter;
    property OnExit;
    property OnGetSiteInfo;
    property OnGetDockCaption;
    property OnResize;
    property OnStartDock;
    property OnStartDrag;
    property OnStatusText;
    property OnUnDock;
    property Active;
  end;

  CoJetEngine = Class
  Public
    Class Function Create: IJetEngine;
    Class Function CreateRemote(const MachineName: string): IJetEngine;
  end;

  TAxcJetEngine = Class(TActiveXContainer)
  Private
    FServer:IJetEngine;
  Public
    constructor Create(TheOwner: TComponent); override;
    destructor Destroy; override;
    property OleServer:IJetEngine read FServer;
  Published
    property Align;
    property Anchors;
    property AutoSize;
    property BorderSpacing;
    property ChildSizing;
    property ClientHeight;
    property ClientWidth;
    property Constraints;
    property DockSite;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property ParentShowHint;
    property PopupMenu;
    property ShowHint;
    property TabOrder;
    property TabStop;
    property UseDockManager default True;
    property Visible;
    property OnContextPopup;
    property OnDockDrop;
    property OnDockOver;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnEnter;
    property OnExit;
    property OnGetSiteInfo;
    property OnGetDockCaption;
    property OnResize;
    property OnStartDock;
    property OnStartDrag;
    property OnStatusText;
    property OnUnDock;
    property Active;
  end;

implementation

uses comobj;

Class Function CoReplica.Create: IReplica;
begin
  Result := CreateComObject(CLASS_Replica) as IReplica;
end;

Class Function CoReplica.CreateRemote(const MachineName: string): IReplica;
begin
  Result := CreateRemoteComObject(MachineName,CLASS_Replica) as IReplica;
end;

constructor TAxcReplica.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  FServer:=CoReplica.Create;
  ComServer:=FServer;
end;

destructor TAxcReplica.Destroy;
begin
  inherited destroy;
end;

Class Function CoJetEngine.Create: IJetEngine;
begin
  Result := CreateComObject(CLASS_JetEngine) as IJetEngine;
end;

Class Function CoJetEngine.CreateRemote(const MachineName: string): IJetEngine;
begin
  Result := CreateRemoteComObject(MachineName,CLASS_JetEngine) as IJetEngine;
end;

constructor TAxcJetEngine.Create(TheOwner: TComponent);
begin
  inherited Create(TheOwner);
  FServer:=CoJetEngine.Create;
  ComServer:=FServer;
end;

destructor TAxcJetEngine.Destroy;
begin
  inherited destroy;
end;

end.
