12. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/16/2019 12:20:44 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

12.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\CPRS_32_P2_PCE\OR_30_405V60_SRC\10_2\Broker\Source VERGENCECONTEXTORLib_TLB.pas Wed Dec 12 14:05:02 2018 UTC
2 C:\AraxisMergeCompare\Pri_re\CPRS v32 P2 PCE Standardization-redacted\CPRS_32_P2_PCE\OR_30_405V60_SRC\10_2\Broker\Source VERGENCECONTEXTORLib_TLB.pas Fri Apr 12 13:37:48 2019 UTC

12.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 12 3824
Changed 11 22
Inserted 0 0
Removed 0 0

12.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

12.4 Active regular expressions

No regular expressions were active.

12.5 Comparison detail

  1   unit VERGE NCECONTEXT ORLib_TLB;
  2  
  3   // ******* ********** ********** ********** ********** ********** ********** ***** //
  4   // WARNING                                                                           
  5   // -------                                                                           
  6   // The typ es declare d in this  file were  generated  from data  read from  a       
  7   // Type Li brary. If  this type  library is  explicitl y or indir ectly (via         
  8   // another  type libr ary referr ing to thi s type lib rary) re-i mported, o r the   
  9   // 'Refres h' command  of the Ty pe Library  Editor ac tivated wh ile editin g the   
  10   // Type Li brary, the  contents  of this fi le will be  regenerat ed and all         
  11   // manual  modificati ons will b e lost.                                             
  12   // ******* ********** ********** ********** ********** ********** ********** ***** //
  13  
  14   // $Rev: 5 2393 $
  15   // File ge nerated on  3/13/2017  2:24:31 P M from Typ e Library  described  below.
  16  
  17   // ******* ********** ********** ********** ********** ********** ********** *****  //
  18   // Type Li b: C:\WIND OWS\SysWOW 64\Vergenc eContextor .dll (1)
  19   // LIBID:  {30AFBABD- 5FD3-11D3- 8727-0060B 0B5E137}
  20   // LCID: 0
  21   // Helpfil e: 
  22   // HelpStr ing: Senti llion Verg ence Conte xtor 1.0
  23   // DepndLs t: 
  24   //   (1) v 2.0 stdole , (C:\Wind ows\SysWOW 64\stdole2 .tlb)
  25   // SYS_KIN D: SYS_WIN 32
  26   // Errors:
  27   //   Hint:  Member 'S et' of 'IR esponseDia logAccesso r' changed  to 'Set_'
  28   // ******* ********** ********** ********** ********** ********** ********** ***** //
  29   {$TYPEDADD RESS OFF}  // Unit mu st be comp iled witho ut type-ch ecked poin ters. 
  30   {$WARN SYM BOL_PLATFO RM OFF}
  31   {$WRITEABL ECONST ON}
  32   {$VARPROPS ETTER ON}
  33   {$ALIGN 4}
  34  
  35   interface
  36  
  37   uses Winap i.Windows,  System.Cl asses, Sys tem.Varian ts, System .Win.StdVC L, Vcl.Gra phics, Vcl .OleCtrls,  Vcl.OleSe rver, Wina pi.ActiveX ;
  38     
  39  
  40  
  41   // ******* ********** ********** ********** ********** ********** ********** **//
  42   // GUIDS d eclared in  the TypeL ibrary. Fo llowing pr efixes are  used:         
  43   //   Type  Libraries      : LIBI D_xxxx                                          
  44   //   CoCla sses           : CLAS S_xxxx                                          
  45   //   DISPI nterfaces      : DIID _xxxx                                           
  46   //   Non-D ISP interf aces: IID_ xxxx                                            
  47   // ******* ********** ********** ********** ********** ********** ********** **//
  48   const
  49     // TypeL ibrary Maj or and min or version s
  50     VERGENCE CONTEXTORL ibMajorVer sion = 1;
  51     VERGENCE CONTEXTORL ibMinorVer sion = 0;
  52  
  53     LIBID_VE RGENCECONT EXTORLib:  TGUID = '{ 30AFBABD-5 FD3-11D3-8 727-0060B0 B5E137}';
  54  
  55     DIID__IC ontextChan gesSink: T GUID = '{6 BED8971-B3 DD-11D3-87 36-0060B0B 5E137}';
  56     IID_ICon textor: TG UID = '{8D 879F5D-5FE 6-11D3-872 7-0060B0B5 E137}';
  57     IID_ICon textPartic ipant: TGU ID = '{3E3 DD272-998E -11D0-808D -00A024094 3E4}';
  58     IID_ICon textItemCo llection:  TGUID = '{ AC4C0271-6 15A-11D3-8 4B5-000086 1FDD4F}';
  59     IID_ICon textItem:  TGUID = '{ AC4C0273-6 15A-11D3-8 4B5-000086 1FDD4F}';
  60     IID_IRes ponseConte xtChange:  TGUID = '{ CBC6D968-9 F6D-416A-8 AA7-99172E 588DF0}';
  61     IID_IRes ponseDialo gAccessor:  TGUID = ' {86592071- F3BA-11D3- 8181-00500 4A0F801}';
  62     IID_IWeb Secure: TG UID = '{1A 6D9D3D-B36 F-42CB-BB0 D-1BCB06C6 F996}';
  63     IID_IRes ponseDialo g: TGUID =  '{9D33ECF 1-8277-11D 3-8525-000 0861FDD4F} ';
  64     IID_ICon textorDial og: TGUID  = '{F4D148 25-367F-43 DB-BF69-1B 4440A043A8 }';
  65     IID_IBri dge: TGUID  = '{78280 F9B-0AF5-4 786-BD2A-7 8845C9164D 7}';
  66     IID_IBri dge2: TGUI D = '{C3BE A4FD-041C- 4A08-AC56- 0F0129C254 A0}';
  67     IID_ICon textChange sSink: TGU ID = '{0B4 37E31-620E -11D3-84B6 -0000861FD D4F}';
  68     CLASS_Co ntextor: T GUID = '{D 5C9CC98-5F DB-11D3-87 27-0060B0B 5E137}';
  69     CLASS_Co ntextorCon trol: TGUI D = '{8778 ACF7-5CA9- 11D3-8727- 0060B0B5E1 37}';
  70     CLASS_Co ntextItemC ollection:  TGUID = ' {AC4C0272- 615A-11D3- 84B5-00008 61FDD4F}';
  71     CLASS_Co ntextItem:  TGUID = ' {AC4C0274- 615A-11D3- 84B5-00008 61FDD4F}';
  72     CLASS_Re sponseDial og: TGUID  = '{9D33EC F2-8277-11 D3-8525-00 00861FDD4F }';
  73     IID_IPas swordDialo g: TGUID =  '{9D33ECF 1-8277-11D 3-8525-000 0861FDD5E} ';
  74     CLASS_Pa sswordDial og: TGUID  = '{9D33EC F2-8277-11 D3-8525-00 00861FDD5E }';
  75     IID_ISet Hook: TGUI D = '{8D87 9FDD-5FE6- 11D3-8727- 0060B0B5E1 37}';
  76     CLASS_Co ntextorPar ticipant:  TGUID = '{ 4BA034A2-D 0FA-11D3-8 18B-005004 9598B2}';
  77     IID_IDis patchAcces sor: TGUID  = '{C3AC7 4F6-6C5D-4 ED9-8838-2 EF5777226E 2}';
  78     CLASS_Di spatchAcce ssor: TGUI D = '{5F9C 5135-FA94- 4091-B1A9- B552942591 18}';
  79  
  80   // ******* ********** ********** ********** ********** ********** ********** **//
  81   // Declara tion of En umerations  defined i n Type Lib rary                      
  82   // ******* ********** ********** ********** ********** ********** ********** **//
  83   // Constan ts for enu m __MIDL__ _MIDL_itf_ VergenceCo ntextor_00 00_0002
  84   type
  85     __MIDL__ _MIDL_itf_ VergenceCo ntextor_00 00_0002 =  TOleEnum;
  86   const
  87     CsNotRun ning = $00 000001;
  88     CsPartic ipating =  $00000002;
  89     CsSuspen ded = $000 00003;
  90  
  91   // Constan ts for enu m __MIDL__ _MIDL_itf_ VergenceCo ntextor_00 00_0001
  92   type
  93     __MIDL__ _MIDL_itf_ VergenceCo ntextor_00 00_0001 =  TOleEnum;
  94   const
  95     ApNone =  $00000001 ;
  96     ApGet =  $00000002;
  97     ApSet =  $00000003;
  98  
  99   // Constan ts for enu m __MIDL__ _MIDL_itf_ VergenceCo ntextor_00 00_0003
  100   type
  101     __MIDL__ _MIDL_itf_ VergenceCo ntextor_00 00_0003 =  TOleEnum;
  102   const
  103     UrCommit  = $000000 01;
  104     UrCancel  = $000000 02;
  105     UrBreak  = $0000000 3;
  106  
  107   // Constan ts for enu m __MIDL__ _MIDL_itf_ VergenceCo ntextor_02 25_0001
  108   type
  109     __MIDL__ _MIDL_itf_ VergenceCo ntextor_02 25_0001 =  TOleEnum;
  110   const
  111     BRIDGE_L OG_TYPE_AL L = $00000 000;
  112     BRIDGE_L OG_TYPE_AU DIT = $000 00001;
  113     BRIDGE_L OG_TYPE_FI NEST = $00 000002;
  114     BRIDGE_L OG_TYPE_FI NER = $000 00003;
  115     BRIDGE_L OG_TYPE_FI NE = $0000 0004;
  116     BRIDGE_L OG_TYPE_CO NFIG = $00 000005;
  117     BRIDGE_L OG_TYPE_IN FO = $0000 0006;
  118     BRIDGE_L OG_TYPE_PR OTOCOL_ERR  = $000000 07;
  119     BRIDGE_L OG_TYPE_WA RNING = $0 0000008;
  120     BRIDGE_L OG_TYPE_SE VERE = $00 000009;
  121     BRIDGE_L OG_TYPE_OF F = $00000 00A;
  122  
  123   // Constan ts for enu m __MIDL__ _MIDL_itf_ VergenceCo ntextor_02 26_0002
  124   type
  125     __MIDL__ _MIDL_itf_ VergenceCo ntextor_02 26_0002 =  TOleEnum;
  126   const
  127     VERGENCE _OK_BUTTON  = $000000 01;
  128     VERGENCE _CANCEL_BU TTON = $00 000002;
  129     VERGENCE _BREAK_LIN K_BUTTON =  $00000004 ;
  130  
  131   // Constan ts for enu m __MIDL__ _MIDL_itf_ VergenceCo ntextor_02 26_0004
  132   type
  133     __MIDL__ _MIDL_itf_ VergenceCo ntextor_02 26_0004 =  TOleEnum;
  134   const
  135     CUSTOM_T EXT = $000 00000;
  136     PASSWORD _DOES_NOT_ EXIST = $0 0000001;
  137     PASSWORD _INCORRECT  = $000000 02;
  138     PASSWORD _EXPIRED =  $00000003 ;
  139     PASSWORD _USER_CHAN GE = $0000 0004;
  140     PASSWORD _LEARNING_ LOGON_FAIL ED = $0000 0005;
  141     ACQUIRE_ CREDENTIAL S = $00000 010;
  142     ACQUIRE_ CREDENTIAL S_LOGON_FA ILED = $00 000020;
  143  
  144   type
  145  
  146   // ******* ********** ********** ********** ********** ********** ********** **//
  147   // Forward  declarati on of type s defined  in TypeLib rary                      
  148   // ******* ********** ********** ********** ********** ********** ********** **//
  149     _IContex tChangesSi nk = dispi nterface;
  150     IContext or = inter face;
  151     IContext orDisp = d ispinterfa ce;
  152     IContext Participan t = interf ace;
  153     IContext Participan tDisp = di spinterfac e;
  154     IContext ItemCollec tion = int erface;
  155     IContext ItemCollec tionDisp =  dispinter face;
  156     IContext Item = int erface;
  157     IContext ItemDisp =  dispinter face;
  158     IRespons eContextCh ange = int erface;
  159     IRespons eContextCh angeDisp =  dispinter face;
  160     IRespons eDialogAcc essor = in terface;
  161     IRespons eDialogAcc essorDisp  = dispinte rface;
  162     IWebSecu re = inter face;
  163     IWebSecu reDisp = d ispinterfa ce;
  164     IRespons eDialog =  interface;
  165     IRespons eDialogDis p = dispin terface;
  166     IContext orDialog =  interface ;
  167     IContext orDialogDi sp = dispi nterface;
  168     IBridge  = interfac e;
  169     IBridgeD isp = disp interface;
  170     IBridge2  = interfa ce;
  171     IBridge2 Disp = dis pinterface ;
  172     IContext ChangesSin k = interf ace;
  173     IContext ChangesSin kDisp = di spinterfac e;
  174     IPasswor dDialog =  interface;
  175     IPasswor dDialogDis p = dispin terface;
  176     ISetHook  = interfa ce;
  177     ISetHook Disp = dis pinterface ;
  178     IDispatc hAccessor  = interfac e;
  179     IDispatc hAccessorD isp = disp interface;
  180  
  181   // ******* ********** ********** ********** ********** ********** ********** **//
  182   // Declara tion of Co Classes de fined in T ype Librar y                         
  183   // (NOTE:  Here we ma p each CoC lass to it s Default  Interface)                
  184   // ******* ********** ********** ********** ********** ********** ********** **//
  185     Contexto r = IConte xtor;
  186     Contexto rControl =  IContexto r;
  187     ContextI temCollect ion = ICon textItemCo llection;
  188     ContextI tem = ICon textItem;
  189     Response Dialog = I ResponseDi alog;
  190     Password Dialog = I PasswordDi alog;
  191     Contexto rParticipa nt = ICont extPartici pant;
  192     Dispatch Accessor =  IDispatch Accessor;
  193  
  194  
  195   // ******* ********** ********** ********** ********** ********** ********** **//
  196   // Declara tion of st ructures,  unions and  aliases.                            
  197   // ******* ********** ********** ********** ********** ********** ********** **//
  198  
  199     Contexto rState = _ _MIDL___MI DL_itf_Ver genceConte xtor_0000_ 0002; 
  200     AccessPr ivilege =  __MIDL___M IDL_itf_Ve rgenceCont extor_0000 _0001; 
  201     UserResp onse = __M IDL___MIDL _itf_Verge nceContext or_0000_00 03; 
  202     VaultLog Level = __ MIDL___MID L_itf_Verg enceContex tor_0225_0 001; 
  203     VERGENCE _DIALOG_BU TTON_ID =  __MIDL___M IDL_itf_Ve rgenceCont extor_0226 _0002; 
  204     VERGENCE _DIALOG_AC QUIRE_PASS WORD_PURPO SE = __MID L___MIDL_i tf_Vergenc eContextor _0226_0004
  205  
  206   // ******* ********** ********** ********** ********** ********** ********** **//
  207   // DispInt f:  _ICont extChanges Sink
  208   // Flags:      (4096)  Dispatcha ble
  209   // GUID:       {6BED8 971-B3DD-1 1D3-8736-0 060B0B5E13 7}
  210   // ******* ********** ********** ********** ********** ********** ********** **//
  211     _IContex tChangesSi nk = dispi nterface
  212       ['{6BE D8971-B3DD -11D3-8736 -0060B0B5E 137}']
  213       proced ure Pendin g(const aC ontextItem Collection : IDispatc h); dispid  1;
  214       proced ure Commit ted; dispi d 2;
  215       proced ure Cancel ed; dispid  3;
  216     end;
  217  
  218   // ******* ********** ********** ********** ********** ********** ********** **//
  219   // Interfa ce: IConte xtor
  220   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  221   // GUID:       {8D879 F5D-5FE6-1 1D3-8727-0 060B0B5E13 7}
  222   // ******* ********** ********** ********** ********** ********** ********** **//
  223     IContext or = inter face(IDisp atch)
  224       ['{8D8 79F5D-5FE6 -11D3-8727 -0060B0B5E 137}']
  225       proced ure Run(co nst applic ationLabel : WideStri ng; const  passcode:  WideString ; survey:  WordBool; 
  226                      co nst initia lNotificat ionFilter:  WideStrin g); safeca ll;
  227       proced ure Suspen d; safecal l;
  228       proced ure Resume ; safecall ;
  229       functi on Get_Sta te: Contex torState;  safecall;
  230       functi on GetPriv ilege(cons t subj: Wi deString):  AccessPri vilege; sa fecall;
  231       functi on Get_Cur rentContex t: IContex tItemColle ction; saf ecall;
  232       proced ure StartC ontextChan ge; safeca ll;
  233       functi on EndCont extChange( commit: Wo rdBool; co nst aConte xtItemColl ection: IC ontextItem Collection ): UserRes ponse; saf ecall;
  234       proced ure SetSur veyRespons e(const re ason: Wide String); s afecall;
  235       functi on Get_Not ificationF ilter: Wid eString; s afecall;
  236       proced ure Set_No tification Filter(con st filter:  WideStrin g); safeca ll;
  237       functi on Get_Nam e: WideStr ing; safec all;
  238       functi on Perform (const inp utContextI temCollect ion: ICont extItemCol lection; 
  239                          isSecureA ction: Wor dBool): IC ontextItem Collection ; safecall ;
  240       proper ty State:  ContextorS tate read  Get_State;
  241       proper ty Current Context: I ContextIte mCollectio n read Get _CurrentCo ntext;
  242       proper ty Notific ationFilte r: WideStr ing read G et_Notific ationFilte r write Se t_Notifica tionFilter ;
  243       proper ty Name: W ideString  read Get_N ame;
  244     end;
  245  
  246   // ******* ********** ********** ********** ********** ********** ********** **//
  247   // DispInt f:  IConte xtorDisp
  248   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  249   // GUID:       {8D879 F5D-5FE6-1 1D3-8727-0 060B0B5E13 7}
  250   // ******* ********** ********** ********** ********** ********** ********** **//
  251     IContext orDisp = d ispinterfa ce
  252       ['{8D8 79F5D-5FE6 -11D3-8727 -0060B0B5E 137}']
  253       proced ure Run(co nst applic ationLabel : WideStri ng; const  passcode:  WideString ; survey:  WordBool; 
  254                      co nst initia lNotificat ionFilter:  WideStrin g); dispid  1;
  255       proced ure Suspen d; dispid  2;
  256       proced ure Resume ; dispid 3 ;
  257       proper ty State:  ContextorS tate reado nly dispid  4;
  258       functi on GetPriv ilege(cons t subj: Wi deString):  AccessPri vilege; di spid 5;
  259       proper ty Current Context: I ContextIte mCollectio n readonly  dispid 6;
  260       proced ure StartC ontextChan ge; dispid  7;
  261       functi on EndCont extChange( commit: Wo rdBool; co nst aConte xtItemColl ection: IC ontextItem Collection ): UserRes ponse; dis pid 8;
  262       proced ure SetSur veyRespons e(const re ason: Wide String); d ispid 9;
  263       proper ty Notific ationFilte r: WideStr ing dispid  10;
  264       proper ty Name: W ideString  readonly d ispid 11;
  265       functi on Perform (const inp utContextI temCollect ion: ICont extItemCol lection; 
  266                          isSecureA ction: Wor dBool): IC ontextItem Collection ; dispid 1 2;
  267     end;
  268  
  269   // ******* ********** ********** ********** ********** ********** ********** **//
  270   // Interfa ce: IConte xtParticip ant
  271   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  272   // GUID:       {3E3DD 272-998E-1 1D0-808D-0 0A0240943E 4}
  273   // ******* ********** ********** ********** ********** ********** ********** **//
  274     IContext Participan t = interf ace(IDispa tch)
  275       ['{3E3 DD272-998E -11D0-808D -00A024094 3E4}']
  276       functi on Context ChangesPen ding(conte xtCoupon:  Integer; v ar reason:  WideStrin g): WideSt ring; safe call;
  277       proced ure Contex tChangesAc cepted(con textCoupon : Integer) ; safecall ;
  278       proced ure Contex tChangesCa nceled(con textCoupon : Integer) ; safecall ;
  279       proced ure Common ContextTer minated; s afecall;
  280       proced ure Ping;  safecall;
  281     end;
  282  
  283   // ******* ********** ********** ********** ********** ********** ********** **//
  284   // DispInt f:  IConte xtParticip antDisp
  285   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  286   // GUID:       {3E3DD 272-998E-1 1D0-808D-0 0A0240943E 4}
  287   // ******* ********** ********** ********** ********** ********** ********** **//
  288     IContext Participan tDisp = di spinterfac e
  289       ['{3E3 DD272-998E -11D0-808D -00A024094 3E4}']
  290       functi on Context ChangesPen ding(conte xtCoupon:  Integer; v ar reason:  WideStrin g): WideSt ring; disp id 1610743 808;
  291       proced ure Contex tChangesAc cepted(con textCoupon : Integer) ; dispid 1 610743809;
  292       proced ure Contex tChangesCa nceled(con textCoupon : Integer) ; dispid 1 610743810;
  293       proced ure Common ContextTer minated; d ispid 1610 743811;
  294       proced ure Ping;  dispid 161 0743812;
  295     end;
  296  
  297   // ******* ********** ********** ********** ********** ********** ********** **//
  298   // Interfa ce: IConte xtItemColl ection
  299   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  300   // GUID:       {AC4C0 271-615A-1 1D3-84B5-0 000861FDD4 F}
  301   // ******* ********** ********** ********** ********** ********** ********** **//
  302     IContext ItemCollec tion = int erface(IDi spatch)
  303       ['{AC4 C0271-615A -11D3-84B5 -0000861FD D4F}']
  304       functi on Count:  Integer; s afecall;
  305       proced ure Add(co nst aConte xtItem: IC ontextItem ); safecal l;
  306       proced ure Remove (const con textItemNa me: WideSt ring); saf ecall;
  307       proced ure Remove All; safec all;
  308       functi on Present (key: OleV ariant): I ContextIte m; safecal l;
  309       functi on Get__Ne wEnum: IUn known; saf ecall;
  310       functi on Item(ke y: OleVari ant): ICon textItem;  safecall;
  311       proper ty _NewEnu m: IUnknow n read Get __NewEnum;
  312     end;
  313  
  314   // ******* ********** ********** ********** ********** ********** ********** **//
  315   // DispInt f:  IConte xtItemColl ectionDisp
  316   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  317   // GUID:       {AC4C0 271-615A-1 1D3-84B5-0 000861FDD4 F}
  318   // ******* ********** ********** ********** ********** ********** ********** **//
  319     IContext ItemCollec tionDisp =  dispinter face
  320       ['{AC4 C0271-615A -11D3-84B5 -0000861FD D4F}']
  321       functi on Count:  Integer; d ispid 1;
  322       proced ure Add(co nst aConte xtItem: IC ontextItem ); dispid  2;
  323       proced ure Remove (const con textItemNa me: WideSt ring); dis pid 3;
  324       proced ure Remove All; dispi d 4;
  325       functi on Present (key: OleV ariant): I ContextIte m; dispid  5;
  326       proper ty _NewEnu m: IUnknow n readonly  dispid -4 ;
  327       functi on Item(ke y: OleVari ant): ICon textItem;  dispid 0;
  328     end;
  329  
  330   // ******* ********** ********** ********** ********** ********** ********** **//
  331   // Interfa ce: IConte xtItem
  332   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  333   // GUID:       {AC4C0 273-615A-1 1D3-84B5-0 000861FDD4 F}
  334   // ******* ********** ********** ********** ********** ********** ********** **//
  335     IContext Item = int erface(IDi spatch)
  336       ['{AC4 C0273-615A -11D3-84B5 -0000861FD D4F}']
  337       functi on Get_Sub ject: Wide String; sa fecall;
  338       proced ure Set_Su bject(cons t pVal: Wi deString);  safecall;
  339       functi on Get_Rol e: WideStr ing; safec all;
  340       proced ure Set_Ro le(const p Val: WideS tring); sa fecall;
  341       functi on Get_Pre fix: WideS tring; saf ecall;
  342       proced ure Set_Pr efix(const  pVal: Wid eString);  safecall;
  343       functi on Get_Suf fix: WideS tring; saf ecall;
  344       proced ure Set_Su ffix(const  pVal: Wid eString);  safecall;
  345       functi on Get_Nam e: WideStr ing; safec all;
  346       proced ure Set_Na me(const p Val: WideS tring); sa fecall;
  347       functi on Get_Val ue: WideSt ring; safe call;
  348       proced ure Set_Va lue(const  pVal: Wide String); s afecall;
  349       functi on Clone:  IContextIt em; safeca ll;
  350       proper ty Subject : WideStri ng read Ge t_Subject  write Set_ Subject;
  351       proper ty Role: W ideString  read Get_R ole write  Set_Role;
  352       proper ty Prefix:  WideStrin g read Get _Prefix wr ite Set_Pr efix;
  353       proper ty Suffix:  WideStrin g read Get _Suffix wr ite Set_Su ffix;
  354       proper ty Name: W ideString  read Get_N ame write  Set_Name;
  355       proper ty Value:  WideString  read Get_ Value writ e Set_Valu e;
  356     end;
  357  
  358   // ******* ********** ********** ********** ********** ********** ********** **//
  359   // DispInt f:  IConte xtItemDisp
  360   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  361   // GUID:       {AC4C0 273-615A-1 1D3-84B5-0 000861FDD4 F}
  362   // ******* ********** ********** ********** ********** ********** ********** **//
  363     IContext ItemDisp =  dispinter face
  364       ['{AC4 C0273-615A -11D3-84B5 -0000861FD D4F}']
  365       proper ty Subject : WideStri ng dispid  1;
  366       proper ty Role: W ideString  dispid 2;
  367       proper ty Prefix:  WideStrin g dispid 3 ;
  368       proper ty Suffix:  WideStrin g dispid 4 ;
  369       proper ty Name: W ideString  dispid 5;
  370       proper ty Value:  WideString  dispid 6;
  371       functi on Clone:  IContextIt em; dispid  7;
  372     end;
  373  
  374   // ******* ********** ********** ********** ********** ********** ********** **//
  375   // Interfa ce: IRespo nseContext Change
  376   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  377   // GUID:       {CBC6D 968-9F6D-4 16A-8AA7-9 9172E588DF 0}
  378   // ******* ********** ********** ********** ********** ********** ********** **//
  379     IRespons eContextCh ange = int erface(IDi spatch)
  380       ['{CBC 6D968-9F6D -416A-8AA7 -99172E588 DF0}']
  381       proced ure StartR esponseCon textChange ; safecall ;
  382       functi on EndResp onseContex tChange(co mmit: Word Bool; 
  383                                            co nst aConte xtItemColl ection: IC ontextItem Collection
  384                                            va r noContin ue: WordBo ol): OleVa riant; saf ecall;
  385       proced ure Commit ContextCha nge; safec all;
  386       proced ure Cancel ContextCha nge; safec all;
  387     end;
  388  
  389   // ******* ********** ********** ********** ********** ********** ********** **//
  390   // DispInt f:  IRespo nseContext ChangeDisp
  391   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  392   // GUID:       {CBC6D 968-9F6D-4 16A-8AA7-9 9172E588DF 0}
  393   // ******* ********** ********** ********** ********** ********** ********** **//
  394     IRespons eContextCh angeDisp =  dispinter face
  395       ['{CBC 6D968-9F6D -416A-8AA7 -99172E588 DF0}']
  396       proced ure StartR esponseCon textChange ; dispid 1 ;
  397       functi on EndResp onseContex tChange(co mmit: Word Bool; 
  398                                            co nst aConte xtItemColl ection: IC ontextItem Collection
  399                                            va r noContin ue: WordBo ol): OleVa riant; dis pid 2;
  400       proced ure Commit ContextCha nge; dispi d 3;
  401       proced ure Cancel ContextCha nge; dispi d 4;
  402     end;
  403  
  404   // ******* ********** ********** ********** ********** ********** ********** **//
  405   // Interfa ce: IRespo nseDialogA ccessor
  406   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  407   // GUID:       {86592 071-F3BA-1 1D3-8181-0 05004A0F80 1}
  408   // ******* ********** ********** ********** ********** ********** ********** **//
  409     IRespons eDialogAcc essor = in terface(ID ispatch)
  410       ['{865 92071-F3BA -11D3-8181 -005004A0F 801}']
  411       proced ure Reset;  safecall;
  412       proced ure Set_(c onst aResp onseDialog : IRespons eDialog);  safecall;
  413     end;
  414  
  415   // ******* ********** ********** ********** ********** ********** ********** **//
  416   // DispInt f:  IRespo nseDialogA ccessorDis p
  417   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  418   // GUID:       {86592 071-F3BA-1 1D3-8181-0 05004A0F80 1}
  419   // ******* ********** ********** ********** ********** ********** ********** **//
  420     IRespons eDialogAcc essorDisp  = dispinte rface
  421       ['{865 92071-F3BA -11D3-8181 -005004A0F 801}']
  422       proced ure Reset;  dispid 1;
  423       proced ure Set_(c onst aResp onseDialog : IRespons eDialog);  dispid 2;
  424     end;
  425  
  426   // ******* ********** ********** ********** ********** ********** ********** **//
  427   // Interfa ce: IWebSe cure
  428   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  429   // GUID:       {1A6D9 D3D-B36F-4 2CB-BB0D-1 BCB06C6F99 6}
  430   // ******* ********** ********** ********** ********** ********** ********** **//
  431     IWebSecu re = inter face(IDisp atch)
  432       ['{1A6 D9D3D-B36F -42CB-BB0D -1BCB06C6F 996}']
  433       functi on GetCont extManager Url: WideS tring; saf ecall;
  434       functi on GetSite Informatio n: WideStr ing; safec all;
  435       functi on GetPart icipantCou pon: WideS tring; saf ecall;
  436       functi on GetCurr entContext Coupon: Wi deString;  safecall;
  437       functi on StartSe cureContex tChange: W ideString;  safecall;
  438       functi on EndSecu reContextC hangeConte xtorDialog (commit: W ordBool; 
  439                                                           const aCo ntextItemC ollection:  IContextI temCollect ion; 
  440                                                           const app licationSi gnature: W ideString) : UserResp onse; safe call;
  441       functi on EndSecu reContextC hangeCusto mDialog(co mmit: Word Bool; 
  442                                                       co nst aConte xtItemColl ection: IC ontextItem Collection
  443                                                       co nst applic ationSigna ture: Wide String): W ordBool; s afecall;
  444       functi on GetSurv eyResponse s: OleVari ant; safec all;
  445       proced ure Commit SecureCont extChange;  safecall;
  446       proced ure Cancel SecureCont extChange;  safecall;
  447     end;
  448  
  449   // ******* ********** ********** ********** ********** ********** ********** **//
  450   // DispInt f:  IWebSe cureDisp
  451   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  452   // GUID:       {1A6D9 D3D-B36F-4 2CB-BB0D-1 BCB06C6F99 6}
  453   // ******* ********** ********** ********** ********** ********** ********** **//
  454     IWebSecu reDisp = d ispinterfa ce
  455       ['{1A6 D9D3D-B36F -42CB-BB0D -1BCB06C6F 996}']
  456       functi on GetCont extManager Url: WideS tring; dis pid 1;
  457       functi on GetSite Informatio n: WideStr ing; dispi d 2;
  458       functi on GetPart icipantCou pon: WideS tring; dis pid 3;
  459       functi on GetCurr entContext Coupon: Wi deString;  dispid 4;
  460       functi on StartSe cureContex tChange: W ideString;  dispid 5;
  461       functi on EndSecu reContextC hangeConte xtorDialog (commit: W ordBool; 
  462                                                           const aCo ntextItemC ollection:  IContextI temCollect ion; 
  463                                                           const app licationSi gnature: W ideString) : UserResp onse; disp id 6;
  464       functi on EndSecu reContextC hangeCusto mDialog(co mmit: Word Bool; 
  465                                                       co nst aConte xtItemColl ection: IC ontextItem Collection
  466                                                       co nst applic ationSigna ture: Wide String): W ordBool; d ispid 7;
  467       functi on GetSurv eyResponse s: OleVari ant; dispi d 8;
  468       proced ure Commit SecureCont extChange;  dispid 9;
  469       proced ure Cancel SecureCont extChange;  dispid 10 ;
  470     end;
  471  
  472   // ******* ********** ********** ********** ********** ********** ********** **//
  473   // Interfa ce: IRespo nseDialog
  474   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  475   // GUID:       {9D33E CF1-8277-1 1D3-8525-0 000861FDD4 F}
  476   // ******* ********** ********** ********** ********** ********** ********** **//
  477     IRespons eDialog =  interface( IDispatch)
  478       ['{9D3 3ECF1-8277 -11D3-8525 -0000861FD D4F}']
  479       functi on Process SurveyResu lts(survey Responses:  OleVarian t; noConti nue: WordB ool): User Response;  safecall;
  480       functi on Process SurveyResu lts2(surve yResponses : OleVaria nt; enable OK: WordBo ol; 
  481                                         enabl eCancel: W ordBool; e nableBreak Link: Word Bool): Use rResponse;  safecall;
  482     end;
  483  
  484   // ******* ********** ********** ********** ********** ********** ********** **//
  485   // DispInt f:  IRespo nseDialogD isp
  486   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  487   // GUID:       {9D33E CF1-8277-1 1D3-8525-0 000861FDD4 F}
  488   // ******* ********** ********** ********** ********** ********** ********** **//
  489     IRespons eDialogDis p = dispin terface
  490       ['{9D3 3ECF1-8277 -11D3-8525 -0000861FD D4F}']
  491       functi on Process SurveyResu lts(survey Responses:  OleVarian t; noConti nue: WordB ool): User Response;  dispid 1;
  492       functi on Process SurveyResu lts2(surve yResponses : OleVaria nt; enable OK: WordBo ol; 
  493                                         enabl eCancel: W ordBool; e nableBreak Link: Word Bool): Use rResponse;  dispid 2;
  494     end;
  495  
  496   // ******* ********** ********** ********** ********** ********** ********** **//
  497   // Interfa ce: IConte xtorDialog
  498   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  499   // GUID:       {F4D14 825-367F-4 3DB-BF69-1 B4440A043A 8}
  500   // ******* ********** ********** ********** ********** ********** ********** **//
  501     IContext orDialog =  interface (IDispatch )
  502       ['{F4D 14825-367F -43DB-BF69 -1B4440A04 3A8}']
  503       functi on Display ContextorD ialog(surv eyResponse s: OleVari ant; enabl eOK: WordB ool; 
  504                                          enab leCancel:  WordBool;  enableBrea kLink: Wor dBool): Us erResponse ; safecall ;
  505     end;
  506  
  507   // ******* ********** ********** ********** ********** ********** ********** **//
  508   // DispInt f:  IConte xtorDialog Disp
  509   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  510   // GUID:       {F4D14 825-367F-4 3DB-BF69-1 B4440A043A 8}
  511   // ******* ********** ********** ********** ********** ********** ********** **//
  512     IContext orDialogDi sp = dispi nterface
  513       ['{F4D 14825-367F -43DB-BF69 -1B4440A04 3A8}']
  514       functi on Display ContextorD ialog(surv eyResponse s: OleVari ant; enabl eOK: WordB ool; 
  515                                          enab leCancel:  WordBool;  enableBrea kLink: Wor dBool): Us erResponse ; dispid 1 ;
  516     end;
  517  
  518   // ******* ********** ********** ********** ********** ********** ********** **//
  519   // Interfa ce: IBridg e
  520   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  521   // GUID:       {78280 F9B-0AF5-4 786-BD2A-7 8845C9164D 7}
  522   // ******* ********** ********** ********** ********** ********** ********** **//
  523     IBridge  = interfac e(IDispatc h)
  524       ['{782 80F9B-0AF5 -4786-BD2A -78845C916 4D7}']
  525       functi on Decrypt UserPasswo rd(const e ncryptedPw d: WideStr ing): Wide String; sa fecall;
  526       functi on SetUser IdAndPassw ord(const  userID: Wi deString;  const plai nTextOldPw d: WideStr ing; 
  527                                        const  plainTextN ewPwd: Wid eString):  SYSINT; sa fecall;
  528       proced ure SetPas swordUsing Dialog(HWN DToOverlay : SYSINT;  AllowUserI DChange: S YSINT; 
  529                                           con st userIDI n: WideStr ing; out u serIDOut:  WideString
  530                                           out  plainText OldPwd: Wi deString; 
  531                                           out  plainText NewPwd: Wi deString;  out result Code: SYSI NT); safec all;
  532       functi on GetBrid geConfigur ation(cons t BridgeAp plicationC onfigurati onIdentifi er: WideSt ring): ICo ntextItemC ollection;  safecall;
  533       functi on AddLogE ntry(aLogL evel: Vaul tLogLevel;  const Log Entry: Wid eString):  SYSINT; sa fecall;
  534       functi on Generat eNewPasswo rd: SYSINT ; safecall ;
  535       proced ure SetPas swordUsing DialogEx(H WNDToOverl ay: SYSINT ; updateVa ult: Integ er; 
  536                                             o ldPassword : Integer;  const pla inTextBitm apPath: Wi deString; 
  537                                               const user Name:  AI            
  538                                             c onst plain TextTitleN ame: WideS tring; 
  539                                             c onst plain TextDescri ption: Wid eString; 
  540                                             o ut plainTe xtNewPwd:  WideString
  541                                             o ut plainTe xtOldPwd:  WideString ; out resu ltCode: SY SINT); saf ecall;
  542       proced ure CloseD ialogEx(di alogID: SY SINT); saf ecall;
  543       functi on GetSecu reItemValu es(itemNam es: OleVar iant): ICo ntextItemC ollection;  safecall;
  544       functi on AddLogE ntry2(aLog Level: Vau ltLogLevel ; const co mponentNam e: WideStr ing; 
  545                               cons t LogEntry : WideStri ng): SYSIN T; safecal l;
  546       functi on SetUser IdAndPassw ordEx(cons t userID:  WideString ; const pl ainTextOld Pwd: WideS tring; 
  547                                          cons t plainTex tNewPwd: W ideString;  const app Name: Wide String): S YSINT; saf ecall;
  548     end;
  549  
  550   // ******* ********** ********** ********** ********** ********** ********** **//
  551   // DispInt f:  IBridg eDisp
  552   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  553   // GUID:       {78280 F9B-0AF5-4 786-BD2A-7 8845C9164D 7}
  554   // ******* ********** ********** ********** ********** ********** ********** **//
  555     IBridgeD isp = disp interface
  556       ['{782 80F9B-0AF5 -4786-BD2A -78845C916 4D7}']
  557       functi on Decrypt UserPasswo rd(const e ncryptedPw d: WideStr ing): Wide String; di spid 1;
  558       functi on SetUser IdAndPassw ord(const  userID: Wi deString;  const plai nTextOldPw d: WideStr ing; 
  559                                        const  plainTextN ewPwd: Wid eString):  SYSINT; di spid 2;
  560       proced ure SetPas swordUsing Dialog(HWN DToOverlay : SYSINT;  AllowUserI DChange: S YSINT; 
  561                                           con st userIDI n: WideStr ing; out u serIDOut:  WideString
  562                                           out  plainText OldPwd: Wi deString; 
  563                                           out  plainText NewPwd: Wi deString;  out result Code: SYSI NT); dispi d 3;
  564       functi on GetBrid geConfigur ation(cons t BridgeAp plicationC onfigurati onIdentifi er: WideSt ring): ICo ntextItemC ollection;  dispid 4;
  565       functi on AddLogE ntry(aLogL evel: Vaul tLogLevel;  const Log Entry: Wid eString):  SYSINT; di spid 5;
  566       functi on Generat eNewPasswo rd: SYSINT ; dispid 6 ;
  567       proced ure SetPas swordUsing DialogEx(H WNDToOverl ay: SYSINT ; updateVa ult: Integ er; 
  568                                             o ldPassword : Integer;  const pla inTextBitm apPath: Wi deString; 
  569                                               const user Name:  AI            
  570                                             c onst plain TextTitleN ame: WideS tring; 
  571                                             c onst plain TextDescri ption: Wid eString; 
  572                                             o ut plainTe xtNewPwd:  WideString
  573                                             o ut plainTe xtOldPwd:  WideString ; out resu ltCode: SY SINT); dis pid 7;
  574       proced ure CloseD ialogEx(di alogID: SY SINT); dis pid 8;
  575       functi on GetSecu reItemValu es(itemNam es: OleVar iant): ICo ntextItemC ollection;  dispid 9;
  576       functi on AddLogE ntry2(aLog Level: Vau ltLogLevel ; const co mponentNam e: WideStr ing; 
  577                               cons t LogEntry : WideStri ng): SYSIN T; dispid  10;
  578       functi on SetUser IdAndPassw ordEx(cons t userID:  WideString ; const pl ainTextOld Pwd: WideS tring; 
  579                                          cons t plainTex tNewPwd: W ideString;  const app Name: Wide String): S YSINT; dis pid 11;
  580     end;
  581  
  582   // ******* ********** ********** ********** ********** ********** ********** **//
  583   // Interfa ce: IBridg e2
  584   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  585   // GUID:       {C3BEA 4FD-041C-4 A08-AC56-0 F0129C254A 0}
  586   // ******* ********** ********** ********** ********** ********** ********** **//
  587     IBridge2  = interfa ce(IBridge )
  588       ['{C3B EA4FD-041C -4A08-AC56 -0F0129C25 4A0}']
  589       functi on GetVers ion: WideS tring; saf ecall;
  590       proced ure CloseD ialogEx2(D ialogTypeI Ds: SYSINT ; DialogIn stanceKey:  SYSINT);  safecall;
  591       functi on Display ContextCha ngeRespons eDialog(Pa rentHWND:  SYSINT; 
  592                                                       Ap plicationM essages: O leVariant;  
  593                                                       Di alogFlags:  SYSINT; D ialogInsta nceKey: SY SINT): VER GENCE_DIAL OG_BUTTON_ ID; safeca ll;
  594       functi on Acquire Password(P arentHWND:  SYSINT; 
  595                                  D ialogPurpo se: VERGEN CE_DIALOG_ ACQUIRE_PA SSWORD_PUR POSE; 
  596                                  c onst Appli cationName OrDialogTe xt: WideSt ring; 
  597                                    const user Name:  AI             DialogFlag s: SYSINT;  
  598                                  D ialogInsta nceKey: SY SINT): Wid eString; s afecall;
  599       functi on Acquire PasswordEx (ParentHWN D: SYSINT;  
  600                                     DialogPur pose: VERG ENCE_DIALO G_ACQUIRE_ PASSWORD_P URPOSE; 
  601                                     const App licationNa meOrDialog Text: Wide String; 
  602                                      const user Name:  AI             const Dial ogTitle: W ideString;  
  603                                     const Res erved: Wid eString; D ialogFlags : SYSINT; 
  604                                     DialogIns tanceKey:  SYSINT): W ideString;  safecall;
  605       proced ure Acquir eCredentia ls(ParentH WND: SYSIN T; 
  606                                       DialogP urpose: VE RGENCE_DIA LOG_ACQUIR E_PASSWORD _PURPOSE; 
  607                                       const A pplication NameOrDial ogText: Wi deString; 
  608                                         const user Name:  AI             const Dial ogTitle: W ideString;  
  609                                       const R eserved: W ideString;  DialogFla gs: SYSINT
  610                                         DialogInst anceKey: S YSINT; out  pNew u ser N ame:  AI            
  611                                       out pNe wPassword:  WideStrin g); safeca ll;
  612     end;
  613  
  614   // ******* ********** ********** ********** ********** ********** ********** **//
  615   // DispInt f:  IBridg e2Disp
  616   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  617   // GUID:       {C3BEA 4FD-041C-4 A08-AC56-0 F0129C254A 0}
  618   // ******* ********** ********** ********** ********** ********** ********** **//
  619     IBridge2 Disp = dis pinterface
  620       ['{C3B EA4FD-041C -4A08-AC56 -0F0129C25 4A0}']
  621       functi on GetVers ion: WideS tring; dis pid 12;
  622       proced ure CloseD ialogEx2(D ialogTypeI Ds: SYSINT ; DialogIn stanceKey:  SYSINT);  dispid 13;
  623       functi on Display ContextCha ngeRespons eDialog(Pa rentHWND:  SYSINT; 
  624                                                       Ap plicationM essages: O leVariant;  
  625                                                       Di alogFlags:  SYSINT; D ialogInsta nceKey: SY SINT): VER GENCE_DIAL OG_BUTTON_ ID; dispid  14;
  626       functi on Acquire Password(P arentHWND:  SYSINT; 
  627                                  D ialogPurpo se: VERGEN CE_DIALOG_ ACQUIRE_PA SSWORD_PUR POSE; 
  628                                  c onst Appli cationName OrDialogTe xt: WideSt ring; 
  629                                    const user Name:  AI             DialogFlag s: SYSINT;  
  630                                  D ialogInsta nceKey: SY SINT): Wid eString; d ispid 15;
  631       functi on Acquire PasswordEx (ParentHWN D: SYSINT;  
  632                                     DialogPur pose: VERG ENCE_DIALO G_ACQUIRE_ PASSWORD_P URPOSE; 
  633                                     const App licationNa meOrDialog Text: Wide String; 
  634                                      const user Name:  AI             const Dial ogTitle: W ideString;  
  635                                     const Res erved: Wid eString; D ialogFlags : SYSINT; 
  636                                     DialogIns tanceKey:  SYSINT): W ideString;  dispid 16 ;
  637       proced ure Acquir eCredentia ls(ParentH WND: SYSIN T; 
  638                                       DialogP urpose: VE RGENCE_DIA LOG_ACQUIR E_PASSWORD _PURPOSE; 
  639                                       const A pplication NameOrDial ogText: Wi deString; 
  640                                         const user Name:  AI             const Dial ogTitle: W ideString;  
  641                                       const R eserved: W ideString;  DialogFla gs: SYSINT
  642                                         DialogInst anceKey: S YSINT; out  pNew u ser N ame:  AI            
  643                                       out pNe wPassword:  WideStrin g); dispid  17;
  644       functi on Decrypt UserPasswo rd(const e ncryptedPw d: WideStr ing): Wide String; di spid 1;
  645       functi on SetUser IdAndPassw ord(const  userID: Wi deString;  const plai nTextOldPw d: WideStr ing; 
  646                                        const  plainTextN ewPwd: Wid eString):  SYSINT; di spid 2;
  647       proced ure SetPas swordUsing Dialog(HWN DToOverlay : SYSINT;  AllowUserI DChange: S YSINT; 
  648                                           con st userIDI n: WideStr ing; out u serIDOut:  WideString
  649                                           out  plainText OldPwd: Wi deString; 
  650                                           out  plainText NewPwd: Wi deString;  out result Code: SYSI NT); dispi d 3;
  651       functi on GetBrid geConfigur ation(cons t BridgeAp plicationC onfigurati onIdentifi er: WideSt ring): ICo ntextItemC ollection;  dispid 4;
  652       functi on AddLogE ntry(aLogL evel: Vaul tLogLevel;  const Log Entry: Wid eString):  SYSINT; di spid 5;
  653       functi on Generat eNewPasswo rd: SYSINT ; dispid 6 ;
  654       proced ure SetPas swordUsing DialogEx(H WNDToOverl ay: SYSINT ; updateVa ult: Integ er; 
  655                                             o ldPassword : Integer;  const pla inTextBitm apPath: Wi deString; 
  656                                               const user Name:  AI            
  657                                             c onst plain TextTitleN ame: WideS tring; 
  658                                             c onst plain TextDescri ption: Wid eString; 
  659                                             o ut plainTe xtNewPwd:  WideString
  660                                             o ut plainTe xtOldPwd:  WideString ; out resu ltCode: SY SINT); dis pid 7;
  661       proced ure CloseD ialogEx(di alogID: SY SINT); dis pid 8;
  662       functi on GetSecu reItemValu es(itemNam es: OleVar iant): ICo ntextItemC ollection;  dispid 9;
  663       functi on AddLogE ntry2(aLog Level: Vau ltLogLevel ; const co mponentNam e: WideStr ing; 
  664                               cons t LogEntry : WideStri ng): SYSIN T; dispid  10;
  665       functi on SetUser IdAndPassw ordEx(cons t userID:  WideString ; const pl ainTextOld Pwd: WideS tring; 
  666                                          cons t plainTex tNewPwd: W ideString;  const app Name: Wide String): S YSINT; dis pid 11;
  667     end;
  668  
  669   // ******* ********** ********** ********** ********** ********** ********** **//
  670   // Interfa ce: IConte xtChangesS ink
  671   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  672   // GUID:       {0B437 E31-620E-1 1D3-84B6-0 000861FDD4 F}
  673   // ******* ********** ********** ********** ********** ********** ********** **//
  674     IContext ChangesSin k = interf ace(IDispa tch)
  675       ['{0B4 37E31-620E -11D3-84B6 -0000861FD D4F}']
  676       proced ure Pendin g(const aC ontextItem Collection : IDispatc h); safeca ll;
  677       proced ure Commit ted; safec all;
  678       proced ure Cancel ed; safeca ll;
  679     end;
  680  
  681   // ******* ********** ********** ********** ********** ********** ********** **//
  682   // DispInt f:  IConte xtChangesS inkDisp
  683   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  684   // GUID:       {0B437 E31-620E-1 1D3-84B6-0 000861FDD4 F}
  685   // ******* ********** ********** ********** ********** ********** ********** **//
  686     IContext ChangesSin kDisp = di spinterfac e
  687       ['{0B4 37E31-620E -11D3-84B6 -0000861FD D4F}']
  688       proced ure Pendin g(const aC ontextItem Collection : IDispatc h); dispid  1;
  689       proced ure Commit ted; dispi d 2;
  690       proced ure Cancel ed; dispid  3;
  691     end;
  692  
  693   // ******* ********** ********** ********** ********** ********** ********** **//
  694   // Interfa ce: IPassw ordDialog
  695   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  696   // GUID:       {9D33E CF1-8277-1 1D3-8525-0 000861FDD5 E}
  697   // ******* ********** ********** ********** ********** ********** ********** **//
  698     IPasswor dDialog =  interface( IDispatch)
  699       ['{9D3 3ECF1-8277 -11D3-8525 -0000861FD D5E}']
  700       functi on GetPass wordChange Informatio n(var user ID: WideSt ring; var  oldPasswor d: WideStr ing; 
  701                                                 var newP assword: W ideString) : SYSINT;  safecall;
  702     end;
  703  
  704   // ******* ********** ********** ********** ********** ********** ********** **//
  705   // DispInt f:  IPassw ordDialogD isp
  706   // Flags:      (4416)  Dual OleA utomation  Dispatchab le
  707   // GUID:       {9D33E CF1-8277-1 1D3-8525-0 000861FDD5 E}
  708   // ******* ********** ********** ********** ********** ********** ********** **//
  709     IPasswor dDialogDis p = dispin terface
  710       ['{9D3 3ECF1-8277 -11D3-8525 -0000861FD D5E}']
  711       functi on GetPass wordChange Informatio n(var user ID: WideSt ring; var  oldPasswor d: WideStr ing; 
  712                                                 var newP assword: W ideString) : SYSINT;  dispid 1;
  713     end;
  714  
  715   // ******* ********** ********** ********** ********** ********** ********** **//
  716   // Interfa ce: ISetHo ok
  717   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  718   // GUID:       {8D879 FDD-5FE6-1 1D3-8727-0 060B0B5E13 7}
  719   // ******* ********** ********** ********** ********** ********** ********** **//
  720     ISetHook  = interfa ce(IDispat ch)
  721       ['{8D8 79FDD-5FE6 -11D3-8727 -0060B0B5E 137}']
  722       proced ure SetPar ticipant(c onst aCont extPartici pant: ICon textPartic ipant); sa fecall;
  723     end;
  724  
  725   // ******* ********** ********** ********** ********** ********** ********** **//
  726   // DispInt f:  ISetHo okDisp
  727   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  728   // GUID:       {8D879 FDD-5FE6-1 1D3-8727-0 060B0B5E13 7}
  729   // ******* ********** ********** ********** ********** ********** ********** **//
  730     ISetHook Disp = dis pinterface
  731       ['{8D8 79FDD-5FE6 -11D3-8727 -0060B0B5E 137}']
  732       proced ure SetPar ticipant(c onst aCont extPartici pant: ICon textPartic ipant); di spid 1;
  733     end;
  734  
  735   // ******* ********** ********** ********** ********** ********** ********** **//
  736   // Interfa ce: IDispa tchAccesso r
  737   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  738   // GUID:       {C3AC7 4F6-6C5D-4 ED9-8838-2 EF5777226E 2}
  739   // ******* ********** ********** ********** ********** ********** ********** **//
  740     IDispatc hAccessor  = interfac e(IDispatc h)
  741       ['{C3A C74F6-6C5D -4ED9-8838 -2EF577722 6E2}']
  742       functi on GetInte rface(cons t sourceIn terface: I Dispatch;  const inte rfaceName:  WideStrin g): IDispa tch; safec all;
  743     end;
  744  
  745   // ******* ********** ********** ********** ********** ********** ********** **//
  746   // DispInt f:  IDispa tchAccesso rDisp
  747   // Flags:      (4432)  Hidden Du al OleAuto mation Dis patchable
  748   // GUID:       {C3AC7 4F6-6C5D-4 ED9-8838-2 EF5777226E 2}
  749   // ******* ********** ********** ********** ********** ********** ********** **//
  750     IDispatc hAccessorD isp = disp interface
  751       ['{C3A C74F6-6C5D -4ED9-8838 -2EF577722 6E2}']
  752       functi on GetInte rface(cons t sourceIn terface: I Dispatch;  const inte rfaceName:  WideStrin g): IDispa tch; dispi d 1;
  753     end;
  754  
  755   // ******* ********** ********** ********** ********** ********** ********** **//
  756   // The Cla ss CoConte xtor provi des a Crea te and Cre ateRemote  method to           
  757   // create  instances  of the def ault inter face ICont extor expo sed by               
  758   // the CoC lass Conte xtor. The  functions  are intend ed to be u sed by              
  759   // clients  wishing t o automate  the CoCla ss objects  exposed b y the          
  760   // server  of this ty pelibrary.                                                 
  761   // ******* ********** ********** ********** ********** ********** ********** **//
  762     CoContex tor = clas s
  763       class  function C reate: ICo ntextor;
  764       class  function C reateRemot e(const Ma chineName:  string):  IContextor ;
  765     end;
  766  
  767     TContext orPending  = procedur e(ASender:  TObject;  const aCon textItemCo llection:  IDispatch)  of object ;
  768  
  769  
  770   // ******* ********** ********** ********** ********** ********** ********** **//
  771   // OLE Ser ver Proxy  class decl aration
  772   // Server  Object     : TContext or
  773   // Help St ring       : Vergence  Contextor
  774   // Default  Interface : IContext or
  775   // Def. In tf. DISP?  : No
  776   // Event    Interface : _IContex tChangesSi nk
  777   // TypeFla gs         : (2) CanC reate
  778   // ******* ********** ********** ********** ********** ********** ********** **//
  779     TContext or = class (TOleServe r)
  780     private
  781       FOnPen ding: TCon textorPend ing;
  782       FOnCom mitted: TN otifyEvent ;
  783       FOnCan celed: TNo tifyEvent;
  784       FIntf:  IContexto r;
  785       functi on GetDefa ultInterfa ce: IConte xtor;
  786     protecte d
  787       proced ure InitSe rverData;  override;
  788       proced ure Invoke Event(Disp ID: TDispI D; var Par ams: TVari antArray);  override;
  789       functi on Get_Sta te: Contex torState;
  790       functi on Get_Cur rentContex t: IContex tItemColle ction;
  791       functi on Get_Not ificationF ilter: Wid eString;
  792       proced ure Set_No tification Filter(con st filter:  WideStrin g);
  793       functi on Get_Nam e: WideStr ing;
  794     public
  795       constr uctor Crea te(AOwner:  TComponen t); overri de;
  796       destru ctor  Dest roy; overr ide;
  797       proced ure Connec t; overrid e;
  798       proced ure Connec tTo(svrInt f: IContex tor);
  799       proced ure Discon nect; over ride;
  800       proced ure Run(co nst applic ationLabel : WideStri ng; const  passcode:  WideString ; survey:  WordBool; 
  801                      co nst initia lNotificat ionFilter:  WideStrin g);
  802       proced ure Suspen d;
  803       proced ure Resume ;
  804       functi on GetPriv ilege(cons t subj: Wi deString):  AccessPri vilege;
  805       proced ure StartC ontextChan ge;
  806       functi on EndCont extChange( commit: Wo rdBool; co nst aConte xtItemColl ection: IC ontextItem Collection ): UserRes ponse;
  807       proced ure SetSur veyRespons e(const re ason: Wide String);
  808       functi on Perform (const inp utContextI temCollect ion: ICont extItemCol lection; 
  809                          isSecureA ction: Wor dBool): IC ontextItem Collection ;
  810       proper ty Default Interface:  IContexto r read Get DefaultInt erface;
  811       proper ty State:  ContextorS tate read  Get_State;
  812       proper ty Current Context: I ContextIte mCollectio n read Get _CurrentCo ntext;
  813       proper ty Name: W ideString  read Get_N ame;
  814       proper ty Notific ationFilte r: WideStr ing read G et_Notific ationFilte r write Se t_Notifica tionFilter ;
  815     publishe d
  816       proper ty OnPendi ng: TConte xtorPendin g read FOn Pending wr ite FOnPen ding;
  817       proper ty OnCommi tted: TNot ifyEvent r ead FOnCom mitted wri te FOnComm itted;
  818       proper ty OnCance led: TNoti fyEvent re ad FOnCanc eled write  FOnCancel ed;
  819     end;
  820  
  821  
  822   // ******* ********** ********** ********** ********** ********** ********** **//
  823   // OLE Con trol Proxy  class dec laration
  824   // Control  Name      : TContext orControl
  825   // Help St ring       : Vergence  Contextor Control
  826   // Default  Interface : IContext or
  827   // Def. In tf. DISP?  : No
  828   // Event    Interface : _IContex tChangesSi nk
  829   // TypeFla gs         : (2) CanC reate
  830   // ******* ********** ********** ********** ********** ********** ********** **//
  831     TContext orControlP ending = p rocedure(A Sender: TO bject; con st aContex tItemColle ction: IDi spatch) of  object;
  832  
  833     TContext orControl  = class(TO leControl)
  834     private
  835       FOnPen ding: TCon textorCont rolPending ;
  836       FOnCom mitted: TN otifyEvent ;
  837       FOnCan celed: TNo tifyEvent;
  838       FIntf:  IContexto r;
  839       functi on  GetCon trolInterf ace: ICont extor;
  840     protecte d
  841       proced ure Create Control;
  842       proced ure InitCo ntrolData;  override;
  843       functi on Get_Cur rentContex t: IContex tItemColle ction;
  844     public
  845       proced ure Run(co nst applic ationLabel : WideStri ng; const  passcode:  WideString ; survey:  WordBool; 
  846                      co nst initia lNotificat ionFilter:  WideStrin g);
  847       proced ure Suspen d;
  848       proced ure Resume ;
  849       functi on GetPriv ilege(cons t subj: Wi deString):  AccessPri vilege;
  850       proced ure StartC ontextChan ge;
  851       functi on EndCont extChange( commit: Wo rdBool; co nst aConte xtItemColl ection: IC ontextItem Collection ): UserRes ponse;
  852       proced ure SetSur veyRespons e(const re ason: Wide String);
  853       functi on Perform (const inp utContextI temCollect ion: ICont extItemCol lection; 
  854                          isSecureA ction: Wor dBool): IC ontextItem Collection ;
  855       proper ty  Contro lInterface : IContext or read Ge tControlIn terface;
  856       proper ty  Defaul tInterface : IContext or read Ge tControlIn terface;
  857       proper ty State:  TOleEnum i ndex 4 rea d GetTOleE numProp;
  858       proper ty Current Context: I ContextIte mCollectio n read Get _CurrentCo ntext;
  859       proper ty Name: W ideString  index 11 r ead GetWid eStringPro p;
  860     publishe d
  861       proper ty Anchors ;
  862       proper ty Notific ationFilte r: WideStr ing index  10 read Ge tWideStrin gProp writ e SetWideS tringProp  stored Fal se;
  863       proper ty OnPendi ng: TConte xtorContro lPending r ead FOnPen ding write  FOnPendin g;
  864       proper ty OnCommi tted: TNot ifyEvent r ead FOnCom mitted wri te FOnComm itted;
  865       proper ty OnCance led: TNoti fyEvent re ad FOnCanc eled write  FOnCancel ed;
  866     end;
  867  
  868   // ******* ********** ********** ********** ********** ********** ********** **//
  869   // The Cla ss CoConte xtItemColl ection pro vides a Cr eate and C reateRemot e method t o           
  870   // create  instances  of the def ault inter face ICont extItemCol lection ex posed by                
  871   // the CoC lass Conte xtItemColl ection. Th e function s are inte nded to be  used by               
  872   // clients  wishing t o automate  the CoCla ss objects  exposed b y the          
  873   // server  of this ty pelibrary.                                                 
  874   // ******* ********** ********** ********** ********** ********** ********** **//
  875     CoContex tItemColle ction = cl ass
  876       class  function C reate: ICo ntextItemC ollection;
  877       class  function C reateRemot e(const Ma chineName:  string):  IContextIt emCollecti on;
  878     end;
  879  
  880  
  881   // ******* ********** ********** ********** ********** ********** ********** **//
  882   // OLE Ser ver Proxy  class decl aration
  883   // Server  Object     : TContext ItemCollec tion
  884   // Help St ring       : Vergence  ContextIt emCollecti on
  885   // Default  Interface : IContext ItemCollec tion
  886   // Def. In tf. DISP?  : No
  887   // Event    Interface
  888   // TypeFla gs         : (2) CanC reate
  889   // ******* ********** ********** ********** ********** ********** ********** **//
  890     TContext ItemCollec tion = cla ss(TOleSer ver)
  891     private
  892       FIntf:  IContextI temCollect ion;
  893       functi on GetDefa ultInterfa ce: IConte xtItemColl ection;
  894     protecte d
  895       proced ure InitSe rverData;  override;
  896       functi on Get__Ne wEnum: IUn known;
  897     public
  898       constr uctor Crea te(AOwner:  TComponen t); overri de;
  899       destru ctor  Dest roy; overr ide;
  900       proced ure Connec t; overrid e;
  901       proced ure Connec tTo(svrInt f: IContex tItemColle ction);
  902       proced ure Discon nect; over ride;
  903       functi on Count:  Integer;
  904       proced ure Add(co nst aConte xtItem: IC ontextItem );
  905       proced ure Remove (const con textItemNa me: WideSt ring);
  906       proced ure Remove All;
  907       functi on Present (key: OleV ariant): I ContextIte m;
  908       functi on Item(ke y: OleVari ant): ICon textItem;
  909       proper ty Default Interface:  IContextI temCollect ion read G etDefaultI nterface;
  910       proper ty _NewEnu m: IUnknow n read Get __NewEnum;
  911     publishe d
  912     end;
  913  
  914   // ******* ********** ********** ********** ********** ********** ********** **//
  915   // The Cla ss CoConte xtItem pro vides a Cr eate and C reateRemot e method t o           
  916   // create  instances  of the def ault inter face ICont extItem ex posed by                
  917   // the CoC lass Conte xtItem. Th e function s are inte nded to be  used by               
  918   // clients  wishing t o automate  the CoCla ss objects  exposed b y the          
  919   // server  of this ty pelibrary.                                                 
  920   // ******* ********** ********** ********** ********** ********** ********** **//
  921     CoContex tItem = cl ass
  922       class  function C reate: ICo ntextItem;
  923       class  function C reateRemot e(const Ma chineName:  string):  IContextIt em;
  924     end;
  925  
  926  
  927   // ******* ********** ********** ********** ********** ********** ********** **//
  928   // OLE Ser ver Proxy  class decl aration
  929   // Server  Object     : TContext Item
  930   // Help St ring       : Vergence  ContextIt em
  931   // Default  Interface : IContext Item
  932   // Def. In tf. DISP?  : No
  933   // Event    Interface
  934   // TypeFla gs         : (2) CanC reate
  935   // ******* ********** ********** ********** ********** ********** ********** **//
  936     TContext Item = cla ss(TOleSer ver)
  937     private
  938       FIntf:  IContextI tem;
  939       functi on GetDefa ultInterfa ce: IConte xtItem;
  940     protecte d
  941       proced ure InitSe rverData;  override;
  942       functi on Get_Sub ject: Wide String;
  943       proced ure Set_Su bject(cons t pVal: Wi deString);
  944       functi on Get_Rol e: WideStr ing;
  945       proced ure Set_Ro le(const p Val: WideS tring);
  946       functi on Get_Pre fix: WideS tring;
  947       proced ure Set_Pr efix(const  pVal: Wid eString);
  948       functi on Get_Suf fix: WideS tring;
  949       proced ure Set_Su ffix(const  pVal: Wid eString);
  950       functi on Get_Nam e: WideStr ing;
  951       proced ure Set_Na me(const p Val: WideS tring);
  952       functi on Get_Val ue: WideSt ring;
  953       proced ure Set_Va lue(const  pVal: Wide String);
  954     public
  955       constr uctor Crea te(AOwner:  TComponen t); overri de;
  956       destru ctor  Dest roy; overr ide;
  957       proced ure Connec t; overrid e;
  958       proced ure Connec tTo(svrInt f: IContex tItem);
  959       proced ure Discon nect; over ride;
  960       functi on Clone:  IContextIt em;
  961       proper ty Default Interface:  IContextI tem read G etDefaultI nterface;
  962       proper ty Subject : WideStri ng read Ge t_Subject  write Set_ Subject;
  963       proper ty Role: W ideString  read Get_R ole write  Set_Role;
  964       proper ty Prefix:  WideStrin g read Get _Prefix wr ite Set_Pr efix;
  965       proper ty Suffix:  WideStrin g read Get _Suffix wr ite Set_Su ffix;
  966       proper ty Name: W ideString  read Get_N ame write  Set_Name;
  967       proper ty Value:  WideString  read Get_ Value writ e Set_Valu e;
  968     publishe d
  969     end;
  970  
  971   // ******* ********** ********** ********** ********** ********** ********** **//
  972   // The Cla ss CoRespo nseDialog  provides a  Create an d CreateRe mote metho d to           
  973   // create  instances  of the def ault inter face IResp onseDialog  exposed b y               
  974   // the CoC lass Respo nseDialog.  The funct ions are i ntended to  be used b y              
  975   // clients  wishing t o automate  the CoCla ss objects  exposed b y the          
  976   // server  of this ty pelibrary.                                                 
  977   // ******* ********** ********** ********** ********** ********** ********** **//
  978     CoRespon seDialog =  class
  979       class  function C reate: IRe sponseDial og;
  980       class  function C reateRemot e(const Ma chineName:  string):  IResponseD ialog;
  981     end;
  982  
  983  
  984   // ******* ********** ********** ********** ********** ********** ********** **//
  985   // OLE Ser ver Proxy  class decl aration
  986   // Server  Object     : TRespons eDialog
  987   // Help St ring       : Vergence  ResponseD ialog
  988   // Default  Interface : IRespons eDialog
  989   // Def. In tf. DISP?  : No
  990   // Event    Interface
  991   // TypeFla gs         : (2) CanC reate
  992   // ******* ********** ********** ********** ********** ********** ********** **//
  993     TRespons eDialog =  class(TOle Server)
  994     private
  995       FIntf:  IResponse Dialog;
  996       functi on GetDefa ultInterfa ce: IRespo nseDialog;
  997     protecte d
  998       proced ure InitSe rverData;  override;
  999     public
  1000       constr uctor Crea te(AOwner:  TComponen t); overri de;
  1001       destru ctor  Dest roy; overr ide;
  1002       proced ure Connec t; overrid e;
  1003       proced ure Connec tTo(svrInt f: IRespon seDialog);
  1004       proced ure Discon nect; over ride;
  1005       functi on Process SurveyResu lts(survey Responses:  OleVarian t; noConti nue: WordB ool): User Response;
  1006       functi on Process SurveyResu lts2(surve yResponses : OleVaria nt; enable OK: WordBo ol; 
  1007                                         enabl eCancel: W ordBool; e nableBreak Link: Word Bool): Use rResponse;
  1008       proper ty Default Interface:  IResponse Dialog rea d GetDefau ltInterfac e;
  1009     publishe d
  1010     end;
  1011  
  1012   // ******* ********** ********** ********** ********** ********** ********** **//
  1013   // The Cla ss CoPassw ordDialog  provides a  Create an d CreateRe mote metho d to           
  1014   // create  instances  of the def ault inter face IPass wordDialog  exposed b y               
  1015   // the CoC lass Passw ordDialog.  The funct ions are i ntended to  be used b y              
  1016   // clients  wishing t o automate  the CoCla ss objects  exposed b y the          
  1017   // server  of this ty pelibrary.                                                 
  1018   // ******* ********** ********** ********** ********** ********** ********** **//
  1019     CoPasswo rdDialog =  class
  1020       class  function C reate: IPa sswordDial og;
  1021       class  function C reateRemot e(const Ma chineName:  string):  IPasswordD ialog;
  1022     end;
  1023  
  1024  
  1025   // ******* ********** ********** ********** ********** ********** ********** **//
  1026   // OLE Ser ver Proxy  class decl aration
  1027   // Server  Object     : TPasswor dDialog
  1028   // Help St ring       : Vergence  PasswordD ialog
  1029   // Default  Interface : IPasswor dDialog
  1030   // Def. In tf. DISP?  : No
  1031   // Event    Interface
  1032   // TypeFla gs         : (2) CanC reate
  1033   // ******* ********** ********** ********** ********** ********** ********** **//
  1034     TPasswor dDialog =  class(TOle Server)
  1035     private
  1036       FIntf:  IPassword Dialog;
  1037       functi on GetDefa ultInterfa ce: IPassw ordDialog;
  1038     protecte d
  1039       proced ure InitSe rverData;  override;
  1040     public
  1041       constr uctor Crea te(AOwner:  TComponen t); overri de;
  1042       destru ctor  Dest roy; overr ide;
  1043       proced ure Connec t; overrid e;
  1044       proced ure Connec tTo(svrInt f: IPasswo rdDialog);
  1045       proced ure Discon nect; over ride;
  1046       functi on GetPass wordChange Informatio n(var user ID: WideSt ring; var  oldPasswor d: WideStr ing; 
  1047                                                 var newP assword: W ideString) : SYSINT;
  1048       proper ty Default Interface:  IPassword Dialog rea d GetDefau ltInterfac e;
  1049     publishe d
  1050     end;
  1051  
  1052   // ******* ********** ********** ********** ********** ********** ********** **//
  1053   // The Cla ss CoConte xtorPartic ipant prov ides a Cre ate and Cr eateRemote  method to           
  1054   // create  instances  of the def ault inter face ICont extPartici pant expos ed by               
  1055   // the CoC lass Conte xtorPartic ipant. The  functions  are inten ded to be  used by              
  1056   // clients  wishing t o automate  the CoCla ss objects  exposed b y the          
  1057   // server  of this ty pelibrary.                                                 
  1058   // ******* ********** ********** ********** ********** ********** ********** **//
  1059     CoContex torPartici pant = cla ss
  1060       class  function C reate: ICo ntextParti cipant;
  1061       class  function C reateRemot e(const Ma chineName:  string):  IContextPa rticipant;
  1062     end;
  1063  
  1064  
  1065   // ******* ********** ********** ********** ********** ********** ********** **//
  1066   // OLE Ser ver Proxy  class decl aration
  1067   // Server  Object     : TContext orParticip ant
  1068   // Help St ring       : Contexto rParticipa nt Class
  1069   // Default  Interface : IContext Participan t
  1070   // Def. In tf. DISP?  : No
  1071   // Event    Interface
  1072   // TypeFla gs         : (2) CanC reate
  1073   // ******* ********** ********** ********** ********** ********** ********** **//
  1074     TContext orParticip ant = clas s(TOleServ er)
  1075     private
  1076       FIntf:  IContextP articipant ;
  1077       functi on GetDefa ultInterfa ce: IConte xtParticip ant;
  1078     protecte d
  1079       proced ure InitSe rverData;  override;
  1080     public
  1081       constr uctor Crea te(AOwner:  TComponen t); overri de;
  1082       destru ctor  Dest roy; overr ide;
  1083       proced ure Connec t; overrid e;
  1084       proced ure Connec tTo(svrInt f: IContex tParticipa nt);
  1085       proced ure Discon nect; over ride;
  1086       functi on Context ChangesPen ding(conte xtCoupon:  Integer; v ar reason:  WideStrin g): WideSt ring;
  1087       proced ure Contex tChangesAc cepted(con textCoupon : Integer) ;
  1088       proced ure Contex tChangesCa nceled(con textCoupon : Integer) ;
  1089       proced ure Common ContextTer minated;
  1090       proced ure Ping;
  1091       proper ty Default Interface:  IContextP articipant  read GetD efaultInte rface;
  1092     publishe d
  1093     end;
  1094  
  1095   // ******* ********** ********** ********** ********** ********** ********** **//
  1096   // The Cla ss CoDispa tchAccesso r provides  a Create  and Create Remote met hod to           
  1097   // create  instances  of the def ault inter face IDisp atchAccess or exposed  by               
  1098   // the CoC lass Dispa tchAccesso r. The fun ctions are  intended  to be used  by              
  1099   // clients  wishing t o automate  the CoCla ss objects  exposed b y the          
  1100   // server  of this ty pelibrary.                                                 
  1101   // ******* ********** ********** ********** ********** ********** ********** **//
  1102     CoDispat chAccessor  = class
  1103       class  function C reate: IDi spatchAcce ssor;
  1104       class  function C reateRemot e(const Ma chineName:  string):  IDispatchA ccessor;
  1105     end;
  1106  
  1107  
  1108   // ******* ********** ********** ********** ********** ********** ********** **//
  1109   // OLE Ser ver Proxy  class decl aration
  1110   // Server  Object     : TDispatc hAccessor
  1111   // Help St ring       : Dispatch Accessor C lass
  1112   // Default  Interface : IDispatc hAccessor
  1113   // Def. In tf. DISP?  : No
  1114   // Event    Interface
  1115   // TypeFla gs         : (2) CanC reate
  1116   // ******* ********** ********** ********** ********** ********** ********** **//
  1117     TDispatc hAccessor  = class(TO leServer)
  1118     private
  1119       FIntf:  IDispatch Accessor;
  1120       functi on GetDefa ultInterfa ce: IDispa tchAccesso r;
  1121     protecte d
  1122       proced ure InitSe rverData;  override;
  1123     public
  1124       constr uctor Crea te(AOwner:  TComponen t); overri de;
  1125       destru ctor  Dest roy; overr ide;
  1126       proced ure Connec t; overrid e;
  1127       proced ure Connec tTo(svrInt f: IDispat chAccessor );
  1128       proced ure Discon nect; over ride;
  1129       functi on GetInte rface(cons t sourceIn terface: I Dispatch;  const inte rfaceName:  WideStrin g): IDispa tch;
  1130       proper ty Default Interface:  IDispatch Accessor r ead GetDef aultInterf ace;
  1131     publishe d
  1132     end;
  1133  
  1134   procedure  Register;
  1135  
  1136   resourcest ring
  1137     dtlServe rPage = 'A ctiveX';
  1138  
  1139     dtlOcxPa ge = 'Acti veX';
  1140  
  1141   implementa tion
  1142  
  1143   uses Syste m.Win.ComO bj;
  1144  
  1145   class func tion CoCon textor.Cre ate: ICont extor;
  1146   begin
  1147     Result : = CreateCo mObject(CL ASS_Contex tor) as IC ontextor;
  1148   end;
  1149  
  1150   class func tion CoCon textor.Cre ateRemote( const Mach ineName: s tring): IC ontextor;
  1151   begin
  1152     Result : = CreateRe moteComObj ect(Machin eName, CLA SS_Context or) as ICo ntextor;
  1153   end;
  1154  
  1155   procedure  TContextor .InitServe rData;
  1156   const
  1157     CServerD ata: TServ erData = (
  1158       ClassI D:   '{D5C 9CC98-5FDB -11D3-8727 -0060B0B5E 137}';
  1159       IntfII D:   '{8D8 79F5D-5FE6 -11D3-8727 -0060B0B5E 137}';
  1160       EventI ID:  '{6BE D8971-B3DD -11D3-8736 -0060B0B5E 137}';
  1161       Licens eKey: nil;
  1162       Versio n: 500);
  1163   begin
  1164     ServerDa ta := @CSe rverData;
  1165   end;
  1166  
  1167   procedure  TContextor .Connect;
  1168   var
  1169     punk: IU nknown;
  1170   begin
  1171     if FIntf  = nil the n
  1172     begin
  1173       punk : = GetServe r;
  1174       Connec tEvents(pu nk);
  1175       Fintf: = punk as  IContextor ;
  1176     end;
  1177   end;
  1178  
  1179   procedure  TContextor .ConnectTo (svrIntf:  IContextor );
  1180   begin
  1181     Disconne ct;
  1182     FIntf :=  svrIntf;
  1183     ConnectE vents(FInt f);
  1184   end;
  1185  
  1186   procedure  TContextor .DisConnec t;
  1187   begin
  1188     if Fintf  <> nil th en
  1189     begin
  1190       Discon nectEvents (FIntf);
  1191       FIntf  := nil;
  1192     end;
  1193   end;
  1194  
  1195   function T Contextor. GetDefault Interface:  IContexto r;
  1196   begin
  1197     if FIntf  = nil the n
  1198       Connec t;
  1199     Assert(F Intf <> ni l, 'Defaul tInterface  is NULL.  Component  is not con nected to  Server. Yo u must cal l "Connect " or "Conn ectTo" bef ore this o peration') ;
  1200     Result : = FIntf;
  1201   end;
  1202  
  1203   constructo r TContext or.Create( AOwner: TC omponent);
  1204   begin
  1205     inherite d Create(A Owner);
  1206   end;
  1207  
  1208   destructor  TContexto r.Destroy;
  1209   begin
  1210     inherite d Destroy;
  1211   end;
  1212  
  1213   procedure  TContextor .InvokeEve nt(DispID:  TDispID;  var Params : TVariant Array);
  1214   begin
  1215     case Dis pID of
  1216       -1: Ex it;  // DI SPID_UNKNO WN
  1217       1: if  Assigned(F OnPending)  then
  1218            F OnPending( Self, Para ms[0] {con st IDispat ch});
  1219       2: if  Assigned(F OnCommitte d) then
  1220            F OnCommitte d(Self);
  1221       3: if  Assigned(F OnCanceled ) then
  1222            F OnCanceled (Self);
  1223     end; {ca se DispID}
  1224   end;
  1225  
  1226   function T Contextor. Get_State:  Contextor State;
  1227   begin
  1228     Result : = DefaultI nterface.S tate;
  1229   end;
  1230  
  1231   function T Contextor. Get_Curren tContext:  IContextIt emCollecti on;
  1232   begin
  1233     Result : = DefaultI nterface.C urrentCont ext;
  1234   end;
  1235  
  1236   function T Contextor. Get_Notifi cationFilt er: WideSt ring;
  1237   begin
  1238     Result : = DefaultI nterface.N otificatio nFilter;
  1239   end;
  1240  
  1241   procedure  TContextor .Set_Notif icationFil ter(const  filter: Wi deString);
  1242   begin
  1243     DefaultI nterface.N otificatio nFilter :=  filter;
  1244   end;
  1245  
  1246   function T Contextor. Get_Name:  WideString ;
  1247   begin
  1248     Result : = DefaultI nterface.N ame;
  1249   end;
  1250  
  1251   procedure  TContextor .Run(const  applicati onLabel: W ideString;  const pas scode: Wid eString; 
  1252                              surve y: WordBoo l; const i nitialNoti ficationFi lter: Wide String);
  1253   begin
  1254     DefaultI nterface.R un(applica tionLabel,  passcode,  survey, i nitialNoti ficationFi lter);
  1255   end;
  1256  
  1257   procedure  TContextor .Suspend;
  1258   begin
  1259     DefaultI nterface.S uspend;
  1260   end;
  1261  
  1262   procedure  TContextor .Resume;
  1263   begin
  1264     DefaultI nterface.R esume;
  1265   end;
  1266  
  1267   function T Contextor. GetPrivile ge(const s ubj: WideS tring): Ac cessPrivil ege;
  1268   begin
  1269     Result : = DefaultI nterface.G etPrivileg e(subj);
  1270   end;
  1271  
  1272   procedure  TContextor .StartCont extChange;
  1273   begin
  1274     DefaultI nterface.S tartContex tChange;
  1275   end;
  1276  
  1277   function T Contextor. EndContext Change(com mit: WordB ool; 
  1278                                           con st aContex tItemColle ction: ICo ntextItemC ollection) : UserResp onse;
  1279   begin
  1280     Result : = DefaultI nterface.E ndContextC hange(comm it, aConte xtItemColl ection);
  1281   end;
  1282  
  1283   procedure  TContextor .SetSurvey Response(c onst reaso n: WideStr ing);
  1284   begin
  1285     DefaultI nterface.S etSurveyRe sponse(rea son);
  1286   end;
  1287  
  1288   function T Contextor. Perform(co nst inputC ontextItem Collection : IContext ItemCollec tion; 
  1289                                 is SecureActi on: WordBo ol): ICont extItemCol lection;
  1290   begin
  1291     Result : = DefaultI nterface.P erform(inp utContextI temCollect ion, isSec ureAction) ;
  1292   end;
  1293  
  1294   procedure  TContextor Control.In itControlD ata;
  1295   const
  1296     CEventDi spIDs: arr ay [0..2]  of DWORD =  (
  1297       $00000 001, $0000 0002, $000 00003);
  1298     CControl Data: TCon trolData2  = (
  1299       ClassI D:      '{ 8778ACF7-5 CA9-11D3-8 727-0060B0 B5E137}';
  1300       EventI ID:     '{ 6BED8971-B 3DD-11D3-8 736-0060B0 B5E137}';
  1301       EventC ount:   3;
  1302       EventD ispIDs: @C EventDispI Ds;
  1303       Licens eKey:   ni l (*HR:$80 004002*);
  1304       Flags:         $0 0000000;
  1305       Versio n:      50 0);
  1306   begin
  1307     ControlD ata := @CC ontrolData ;
  1308     TControl Data2(CCon trolData). FirstEvent Ofs := UIn tPtr(@@FOn Pending) -  UIntPtr(S elf);
  1309   end;
  1310  
  1311   procedure  TContextor Control.Cr eateContro l;
  1312  
  1313     procedur e DoCreate ;
  1314     begin
  1315       FIntf  := IUnknow n(OleObjec t) as ICon textor;
  1316     end;
  1317  
  1318   begin
  1319     if FIntf  = nil the n DoCreate ;
  1320   end;
  1321  
  1322   function T ContextorC ontrol.Get ControlInt erface: IC ontextor;
  1323   begin
  1324     CreateCo ntrol;
  1325     Result : = FIntf;
  1326   end;
  1327  
  1328   function T ContextorC ontrol.Get _CurrentCo ntext: ICo ntextItemC ollection;
  1329   begin
  1330     Result : = DefaultI nterface.C urrentCont ext;
  1331   end;
  1332  
  1333   procedure  TContextor Control.Ru n(const ap plicationL abel: Wide String; co nst passco de: WideSt ring; 
  1334                                      survey:  WordBool;  const init ialNotific ationFilte r: WideStr ing);
  1335   begin
  1336     DefaultI nterface.R un(applica tionLabel,  passcode,  survey, i nitialNoti ficationFi lter);
  1337   end;
  1338  
  1339   procedure  TContextor Control.Su spend;
  1340   begin
  1341     DefaultI nterface.S uspend;
  1342   end;
  1343  
  1344   procedure  TContextor Control.Re sume;
  1345   begin
  1346     DefaultI nterface.R esume;
  1347   end;
  1348  
  1349   function T ContextorC ontrol.Get Privilege( const subj : WideStri ng): Acces sPrivilege ;
  1350   begin
  1351     Result : = DefaultI nterface.G etPrivileg e(subj);
  1352   end;
  1353  
  1354   procedure  TContextor Control.St artContext Change;
  1355   begin
  1356     DefaultI nterface.S tartContex tChange;
  1357   end;
  1358  
  1359   function T ContextorC ontrol.End ContextCha nge(commit : WordBool
  1360                                                   const  aContextIt emCollecti on: IConte xtItemColl ection): U serRespons e;
  1361   begin
  1362     Result : = DefaultI nterface.E ndContextC hange(comm it, aConte xtItemColl ection);
  1363   end;
  1364  
  1365   procedure  TContextor Control.Se tSurveyRes ponse(cons t reason:  WideString );
  1366   begin
  1367     DefaultI nterface.S etSurveyRe sponse(rea son);
  1368   end;
  1369  
  1370   function T ContextorC ontrol.Per form(const  inputCont extItemCol lection: I ContextIte mCollectio n; 
  1371                                         isSec ureAction:  WordBool) : IContext ItemCollec tion;
  1372   begin
  1373     Result : = DefaultI nterface.P erform(inp utContextI temCollect ion, isSec ureAction) ;
  1374   end;
  1375  
  1376   class func tion CoCon textItemCo llection.C reate: ICo ntextItemC ollection;
  1377   begin
  1378     Result : = CreateCo mObject(CL ASS_Contex tItemColle ction) as  IContextIt emCollecti on;
  1379   end;
  1380  
  1381   class func tion CoCon textItemCo llection.C reateRemot e(const Ma chineName:  string):  IContextIt emCollecti on;
  1382   begin
  1383     Result : = CreateRe moteComObj ect(Machin eName, CLA SS_Context ItemCollec tion) as I ContextIte mCollectio n;
  1384   end;
  1385  
  1386   procedure  TContextIt emCollecti on.InitSer verData;
  1387   const
  1388     CServerD ata: TServ erData = (
  1389       ClassI D:   '{AC4 C0272-615A -11D3-84B5 -0000861FD D4F}';
  1390       IntfII D:   '{AC4 C0271-615A -11D3-84B5 -0000861FD D4F}';
  1391       EventI ID:  '';
  1392       Licens eKey: nil;
  1393       Versio n: 500);
  1394   begin
  1395     ServerDa ta := @CSe rverData;
  1396   end;
  1397  
  1398   procedure  TContextIt emCollecti on.Connect ;
  1399   var
  1400     punk: IU nknown;
  1401   begin
  1402     if FIntf  = nil the n
  1403     begin
  1404       punk : = GetServe r;
  1405       Fintf: = punk as  IContextIt emCollecti on;
  1406     end;
  1407   end;
  1408  
  1409   procedure  TContextIt emCollecti on.Connect To(svrIntf : IContext ItemCollec tion);
  1410   begin
  1411     Disconne ct;
  1412     FIntf :=  svrIntf;
  1413   end;
  1414  
  1415   procedure  TContextIt emCollecti on.DisConn ect;
  1416   begin
  1417     if Fintf  <> nil th en
  1418     begin
  1419       FIntf  := nil;
  1420     end;
  1421   end;
  1422  
  1423   function T ContextIte mCollectio n.GetDefau ltInterfac e: IContex tItemColle ction;
  1424   begin
  1425     if FIntf  = nil the n
  1426       Connec t;
  1427     Assert(F Intf <> ni l, 'Defaul tInterface  is NULL.  Component  is not con nected to  Server. Yo u must cal l "Connect " or "Conn ectTo" bef ore this o peration') ;
  1428     Result : = FIntf;
  1429   end;
  1430  
  1431   constructo r TContext ItemCollec tion.Creat e(AOwner:  TComponent );
  1432   begin
  1433     inherite d Create(A Owner);
  1434   end;
  1435  
  1436   destructor  TContextI temCollect ion.Destro y;
  1437   begin
  1438     inherite d Destroy;
  1439   end;
  1440  
  1441   function T ContextIte mCollectio n.Get__New Enum: IUnk nown;
  1442   begin
  1443     Result : = DefaultI nterface._ NewEnum;
  1444   end;
  1445  
  1446   function T ContextIte mCollectio n.Count: I nteger;
  1447   begin
  1448     Result : = DefaultI nterface.C ount;
  1449   end;
  1450  
  1451   procedure  TContextIt emCollecti on.Add(con st aContex tItem: ICo ntextItem) ;
  1452   begin
  1453     DefaultI nterface.A dd(aContex tItem);
  1454   end;
  1455  
  1456   procedure  TContextIt emCollecti on.Remove( const cont extItemNam e: WideStr ing);
  1457   begin
  1458     DefaultI nterface.R emove(cont extItemNam e);
  1459   end;
  1460  
  1461   procedure  TContextIt emCollecti on.RemoveA ll;
  1462   begin
  1463     DefaultI nterface.R emoveAll;
  1464   end;
  1465  
  1466   function T ContextIte mCollectio n.Present( key: OleVa riant): IC ontextItem ;
  1467   begin
  1468     Result : = DefaultI nterface.P resent(key );
  1469   end;
  1470  
  1471   function T ContextIte mCollectio n.Item(key : OleVaria nt): ICont extItem;
  1472   begin
  1473     Result : = DefaultI nterface.I tem(key);
  1474   end;
  1475  
  1476   class func tion CoCon textItem.C reate: ICo ntextItem;
  1477   begin
  1478     Result : = CreateCo mObject(CL ASS_Contex tItem) as  IContextIt em;
  1479   end;
  1480  
  1481   class func tion CoCon textItem.C reateRemot e(const Ma chineName:  string):  IContextIt em;
  1482   begin
  1483     Result : = CreateRe moteComObj ect(Machin eName, CLA SS_Context Item) as I ContextIte m;
  1484   end;
  1485  
  1486   procedure  TContextIt em.InitSer verData;
  1487   const
  1488     CServerD ata: TServ erData = (
  1489       ClassI D:   '{AC4 C0274-615A -11D3-84B5 -0000861FD D4F}';
  1490       IntfII D:   '{AC4 C0273-615A -11D3-84B5 -0000861FD D4F}';
  1491       EventI ID:  '';
  1492       Licens eKey: nil;
  1493       Versio n: 500);
  1494   begin
  1495     ServerDa ta := @CSe rverData;
  1496   end;
  1497  
  1498   procedure  TContextIt em.Connect ;
  1499   var
  1500     punk: IU nknown;
  1501   begin
  1502     if FIntf  = nil the n
  1503     begin
  1504       punk : = GetServe r;
  1505       Fintf: = punk as  IContextIt em;
  1506     end;
  1507   end;
  1508  
  1509   procedure  TContextIt em.Connect To(svrIntf : IContext Item);
  1510   begin
  1511     Disconne ct;
  1512     FIntf :=  svrIntf;
  1513   end;
  1514  
  1515   procedure  TContextIt em.DisConn ect;
  1516   begin
  1517     if Fintf  <> nil th en
  1518     begin
  1519       FIntf  := nil;
  1520     end;
  1521   end;
  1522  
  1523   function T ContextIte m.GetDefau ltInterfac e: IContex tItem;
  1524   begin
  1525     if FIntf  = nil the n
  1526       Connec t;
  1527     Assert(F Intf <> ni l, 'Defaul tInterface  is NULL.  Component  is not con nected to  Server. Yo u must cal l "Connect " or "Conn ectTo" bef ore this o peration') ;
  1528     Result : = FIntf;
  1529   end;
  1530  
  1531   constructo r TContext Item.Creat e(AOwner:  TComponent );
  1532   begin
  1533     inherite d Create(A Owner);
  1534   end;
  1535  
  1536   destructor  TContextI tem.Destro y;
  1537   begin
  1538     inherite d Destroy;
  1539   end;
  1540  
  1541   function T ContextIte m.Get_Subj ect: WideS tring;
  1542   begin
  1543     Result : = DefaultI nterface.S ubject;
  1544   end;
  1545  
  1546   procedure  TContextIt em.Set_Sub ject(const  pVal: Wid eString);
  1547   begin
  1548     DefaultI nterface.S ubject :=  pVal;
  1549   end;
  1550  
  1551   function T ContextIte m.Get_Role : WideStri ng;
  1552   begin
  1553     Result : = DefaultI nterface.R ole;
  1554   end;
  1555  
  1556   procedure  TContextIt em.Set_Rol e(const pV al: WideSt ring);
  1557   begin
  1558     DefaultI nterface.R ole := pVa l;
  1559   end;
  1560  
  1561   function T ContextIte m.Get_Pref ix: WideSt ring;
  1562   begin
  1563     Result : = DefaultI nterface.P refix;
  1564   end;
  1565  
  1566   procedure  TContextIt em.Set_Pre fix(const  pVal: Wide String);
  1567   begin
  1568     DefaultI nterface.P refix := p Val;
  1569   end;
  1570  
  1571   function T ContextIte m.Get_Suff ix: WideSt ring;
  1572   begin
  1573     Result : = DefaultI nterface.S uffix;
  1574   end;
  1575  
  1576   procedure  TContextIt em.Set_Suf fix(const  pVal: Wide String);
  1577   begin
  1578     DefaultI nterface.S uffix := p Val;
  1579   end;
  1580  
  1581   function T ContextIte m.Get_Name : WideStri ng;
  1582   begin
  1583     Result : = DefaultI nterface.N ame;
  1584   end;
  1585  
  1586   procedure  TContextIt em.Set_Nam e(const pV al: WideSt ring);
  1587   begin
  1588     DefaultI nterface.N ame := pVa l;
  1589   end;
  1590  
  1591   function T ContextIte m.Get_Valu e: WideStr ing;
  1592   begin
  1593     Result : = DefaultI nterface.V alue;
  1594   end;
  1595  
  1596   procedure  TContextIt em.Set_Val ue(const p Val: WideS tring);
  1597   begin
  1598     DefaultI nterface.V alue := pV al;
  1599   end;
  1600  
  1601   function T ContextIte m.Clone: I ContextIte m;
  1602   begin
  1603     Result : = DefaultI nterface.C lone;
  1604   end;
  1605  
  1606   class func tion CoRes ponseDialo g.Create:  IResponseD ialog;
  1607   begin
  1608     Result : = CreateCo mObject(CL ASS_Respon seDialog)  as IRespon seDialog;
  1609   end;
  1610  
  1611   class func tion CoRes ponseDialo g.CreateRe mote(const  MachineNa me: string ): IRespon seDialog;
  1612   begin
  1613     Result : = CreateRe moteComObj ect(Machin eName, CLA SS_Respons eDialog) a s IRespons eDialog;
  1614   end;
  1615  
  1616   procedure  TResponseD ialog.Init ServerData ;
  1617   const
  1618     CServerD ata: TServ erData = (
  1619       ClassI D:   '{9D3 3ECF2-8277 -11D3-8525 -0000861FD D4F}';
  1620       IntfII D:   '{9D3 3ECF1-8277 -11D3-8525 -0000861FD D4F}';
  1621       EventI ID:  '';
  1622       Licens eKey: nil;
  1623       Versio n: 500);
  1624   begin
  1625     ServerDa ta := @CSe rverData;
  1626   end;
  1627  
  1628   procedure  TResponseD ialog.Conn ect;
  1629   var
  1630     punk: IU nknown;
  1631   begin
  1632     if FIntf  = nil the n
  1633     begin
  1634       punk : = GetServe r;
  1635       Fintf: = punk as  IResponseD ialog;
  1636     end;
  1637   end;
  1638  
  1639   procedure  TResponseD ialog.Conn ectTo(svrI ntf: IResp onseDialog );
  1640   begin
  1641     Disconne ct;
  1642     FIntf :=  svrIntf;
  1643   end;
  1644  
  1645   procedure  TResponseD ialog.DisC onnect;
  1646   begin
  1647     if Fintf  <> nil th en
  1648     begin
  1649       FIntf  := nil;
  1650     end;
  1651   end;
  1652  
  1653   function T ResponseDi alog.GetDe faultInter face: IRes ponseDialo g;
  1654   begin
  1655     if FIntf  = nil the n
  1656       Connec t;
  1657     Assert(F Intf <> ni l, 'Defaul tInterface  is NULL.  Component  is not con nected to  Server. Yo u must cal l "Connect " or "Conn ectTo" bef ore this o peration') ;
  1658     Result : = FIntf;
  1659   end;
  1660  
  1661   constructo r TRespons eDialog.Cr eate(AOwne r: TCompon ent);
  1662   begin
  1663     inherite d Create(A Owner);
  1664   end;
  1665  
  1666   destructor  TResponse Dialog.Des troy;
  1667   begin
  1668     inherite d Destroy;
  1669   end;
  1670  
  1671   function T ResponseDi alog.Proce ssSurveyRe sults(surv eyResponse s: OleVari ant; noCon tinue: Wor dBool): Us erResponse ;
  1672   begin
  1673     Result : = DefaultI nterface.P rocessSurv eyResults( surveyResp onses, noC ontinue);
  1674   end;
  1675  
  1676   function T ResponseDi alog.Proce ssSurveyRe sults2(sur veyRespons es: OleVar iant; enab leOK: Word Bool; 
  1677                                                      ena bleCancel:  WordBool;  enableBre akLink: Wo rdBool): U serRespons e;
  1678   begin
  1679     Result : = DefaultI nterface.P rocessSurv eyResults2 (surveyRes ponses, en ableOK, en ableCancel
  1680                                                           enableBre akLink);
  1681   end;
  1682  
  1683   class func tion CoPas swordDialo g.Create:  IPasswordD ialog;
  1684   begin
  1685     Result : = CreateCo mObject(CL ASS_Passwo rdDialog)  as IPasswo rdDialog;
  1686   end;
  1687  
  1688   class func tion CoPas swordDialo g.CreateRe mote(const  MachineNa me: string ): IPasswo rdDialog;
  1689   begin
  1690     Result : = CreateRe moteComObj ect(Machin eName, CLA SS_Passwor dDialog) a s IPasswor dDialog;
  1691   end;
  1692  
  1693   procedure  TPasswordD ialog.Init ServerData ;
  1694   const
  1695     CServerD ata: TServ erData = (
  1696       ClassI D:   '{9D3 3ECF2-8277 -11D3-8525 -0000861FD D5E}';
  1697       IntfII D:   '{9D3 3ECF1-8277 -11D3-8525 -0000861FD D5E}';
  1698       EventI ID:  '';
  1699       Licens eKey: nil;
  1700       Versio n: 500);
  1701   begin
  1702     ServerDa ta := @CSe rverData;
  1703   end;
  1704  
  1705   procedure  TPasswordD ialog.Conn ect;
  1706   var
  1707     punk: IU nknown;
  1708   begin
  1709     if FIntf  = nil the n
  1710     begin
  1711       punk : = GetServe r;
  1712       Fintf: = punk as  IPasswordD ialog;
  1713     end;
  1714   end;
  1715  
  1716   procedure  TPasswordD ialog.Conn ectTo(svrI ntf: IPass wordDialog );
  1717   begin
  1718     Disconne ct;
  1719     FIntf :=  svrIntf;
  1720   end;
  1721  
  1722   procedure  TPasswordD ialog.DisC onnect;
  1723   begin
  1724     if Fintf  <> nil th en
  1725     begin
  1726       FIntf  := nil;
  1727     end;
  1728   end;
  1729  
  1730   function T PasswordDi alog.GetDe faultInter face: IPas swordDialo g;
  1731   begin
  1732     if FIntf  = nil the n
  1733       Connec t;
  1734     Assert(F Intf <> ni l, 'Defaul tInterface  is NULL.  Component  is not con nected to  Server. Yo u must cal l "Connect " or "Conn ectTo" bef ore this o peration') ;
  1735     Result : = FIntf;
  1736   end;
  1737  
  1738   constructo r TPasswor dDialog.Cr eate(AOwne r: TCompon ent);
  1739   begin
  1740     inherite d Create(A Owner);
  1741   end;
  1742  
  1743   destructor  TPassword Dialog.Des troy;
  1744   begin
  1745     inherite d Destroy;
  1746   end;
  1747  
  1748   function T PasswordDi alog.GetPa sswordChan geInformat ion(var us erID: Wide String; 
  1749                                                              var ol dPassword:  WideStrin g; 
  1750                                                              var ne wPassword:  WideStrin g): SYSINT ;
  1751   begin
  1752     Result : = DefaultI nterface.G etPassword ChangeInfo rmation(us erID, oldP assword, n ewPassword );
  1753   end;
  1754  
  1755   class func tion CoCon textorPart icipant.Cr eate: ICon textPartic ipant;
  1756   begin
  1757     Result : = CreateCo mObject(CL ASS_Contex torPartici pant) as I ContextPar ticipant;
  1758   end;
  1759  
  1760   class func tion CoCon textorPart icipant.Cr eateRemote (const Mac hineName:  string): I ContextPar ticipant;
  1761   begin
  1762     Result : = CreateRe moteComObj ect(Machin eName, CLA SS_Context orParticip ant) as IC ontextPart icipant;
  1763   end;
  1764  
  1765   procedure  TContextor Participan t.InitServ erData;
  1766   const
  1767     CServerD ata: TServ erData = (
  1768       ClassI D:   '{4BA 034A2-D0FA -11D3-818B -005004959 8B2}';
  1769       IntfII D:   '{3E3 DD272-998E -11D0-808D -00A024094 3E4}';
  1770       EventI ID:  '';
  1771       Licens eKey: nil;
  1772       Versio n: 500);
  1773   begin
  1774     ServerDa ta := @CSe rverData;
  1775   end;
  1776  
  1777   procedure  TContextor Participan t.Connect;
  1778   var
  1779     punk: IU nknown;
  1780   begin
  1781     if FIntf  = nil the n
  1782     begin
  1783       punk : = GetServe r;
  1784       Fintf: = punk as  IContextPa rticipant;
  1785     end;
  1786   end;
  1787  
  1788   procedure  TContextor Participan t.ConnectT o(svrIntf:  IContextP articipant );
  1789   begin
  1790     Disconne ct;
  1791     FIntf :=  svrIntf;
  1792   end;
  1793  
  1794   procedure  TContextor Participan t.DisConne ct;
  1795   begin
  1796     if Fintf  <> nil th en
  1797     begin
  1798       FIntf  := nil;
  1799     end;
  1800   end;
  1801  
  1802   function T ContextorP articipant .GetDefaul tInterface : IContext Participan t;
  1803   begin
  1804     if FIntf  = nil the n
  1805       Connec t;
  1806     Assert(F Intf <> ni l, 'Defaul tInterface  is NULL.  Component  is not con nected to  Server. Yo u must cal l "Connect " or "Conn ectTo" bef ore this o peration') ;
  1807     Result : = FIntf;
  1808   end;
  1809  
  1810   constructo r TContext orParticip ant.Create (AOwner: T Component) ;
  1811   begin
  1812     inherite d Create(A Owner);
  1813   end;
  1814  
  1815   destructor  TContexto rParticipa nt.Destroy ;
  1816   begin
  1817     inherite d Destroy;
  1818   end;
  1819  
  1820   function T ContextorP articipant .ContextCh angesPendi ng(context Coupon: In teger; var  reason: W ideString) : WideStri ng;
  1821   begin
  1822     Result : = DefaultI nterface.C ontextChan gesPending (contextCo upon, reas on);
  1823   end;
  1824  
  1825   procedure  TContextor Participan t.ContextC hangesAcce pted(conte xtCoupon:  Integer);
  1826   begin
  1827     DefaultI nterface.C ontextChan gesAccepte d(contextC oupon);
  1828   end;
  1829  
  1830   procedure  TContextor Participan t.ContextC hangesCanc eled(conte xtCoupon:  Integer);
  1831   begin
  1832     DefaultI nterface.C ontextChan gesCancele d(contextC oupon);
  1833   end;
  1834  
  1835   procedure  TContextor Participan t.CommonCo ntextTermi nated;
  1836   begin
  1837     DefaultI nterface.C ommonConte xtTerminat ed;
  1838   end;
  1839  
  1840   procedure  TContextor Participan t.Ping;
  1841   begin
  1842     DefaultI nterface.P ing;
  1843   end;
  1844  
  1845   class func tion CoDis patchAcces sor.Create : IDispatc hAccessor;
  1846   begin
  1847     Result : = CreateCo mObject(CL ASS_Dispat chAccessor ) as IDisp atchAccess or;
  1848   end;
  1849  
  1850   class func tion CoDis patchAcces sor.Create Remote(con st Machine Name: stri ng): IDisp atchAccess or;
  1851   begin
  1852     Result : = CreateRe moteComObj ect(Machin eName, CLA SS_Dispatc hAccessor)  as IDispa tchAccesso r;
  1853   end;
  1854  
  1855   procedure  TDispatchA ccessor.In itServerDa ta;
  1856   const
  1857     CServerD ata: TServ erData = (
  1858       ClassI D:   '{5F9 C5135-FA94 -4091-B1A9 -B55294259 118}';
  1859       IntfII D:   '{C3A C74F6-6C5D -4ED9-8838 -2EF577722 6E2}';
  1860       EventI ID:  '';
  1861       Licens eKey: nil;
  1862       Versio n: 500);
  1863   begin
  1864     ServerDa ta := @CSe rverData;
  1865   end;
  1866  
  1867   procedure  TDispatchA ccessor.Co nnect;
  1868   var
  1869     punk: IU nknown;
  1870   begin
  1871     if FIntf  = nil the n
  1872     begin
  1873       punk : = GetServe r;
  1874       Fintf: = punk as  IDispatchA ccessor;
  1875     end;
  1876   end;
  1877  
  1878   procedure  TDispatchA ccessor.Co nnectTo(sv rIntf: IDi spatchAcce ssor);
  1879   begin
  1880     Disconne ct;
  1881     FIntf :=  svrIntf;
  1882   end;
  1883  
  1884   procedure  TDispatchA ccessor.Di sConnect;
  1885   begin
  1886     if Fintf  <> nil th en
  1887     begin
  1888       FIntf  := nil;
  1889     end;
  1890   end;
  1891  
  1892   function T DispatchAc cessor.Get DefaultInt erface: ID ispatchAcc essor;
  1893   begin
  1894     if FIntf  = nil the n
  1895       Connec t;
  1896     Assert(F Intf <> ni l, 'Defaul tInterface  is NULL.  Component  is not con nected to  Server. Yo u must cal l "Connect " or "Conn ectTo" bef ore this o peration') ;
  1897     Result : = FIntf;
  1898   end;
  1899  
  1900   constructo r TDispatc hAccessor. Create(AOw ner: TComp onent);
  1901   begin
  1902     inherite d Create(A Owner);
  1903   end;
  1904  
  1905   destructor  TDispatch Accessor.D estroy;
  1906   begin
  1907     inherite d Destroy;
  1908   end;
  1909  
  1910   function T DispatchAc cessor.Get Interface( const sour ceInterfac e: IDispat ch; 
  1911                                               const inte rfaceName:  WideStrin g): IDispa tch;
  1912   begin
  1913     Result : = DefaultI nterface.G etInterfac e(sourceIn terface, i nterfaceNa me);
  1914   end;
  1915  
  1916   procedure  Register;
  1917   begin
  1918     Register Components (dtlOcxPag e, [TConte xtorContro l]);
  1919     Register Components (dtlServer Page, [TCo ntextor, T ContextIte mCollectio n, TContex tItem, TRe sponseDial og, 
  1920       TPassw ordDialog,  TContexto rParticipa nt, TDispa tchAccesso r]);
  1921   end;
  1922  
  1923   end.