Hmm, I was able to gut it out of the engine and put it into dutil. I haven't 
pushed yet, but was wondering about the general feeling of passing untyped 
pointers was.

Ex:

HRESULT DAPI WininetDownloadUrl(
    __in LPVOID pData,
    __in LPAUTHENTICATION_ROUTINE pAuthentication,
    __in DOWNLOAD_CACHE_CALLBACK* pCallback,
    __in DOWNLOAD_SOURCE* pDownloadSource,
    __in DWORD64 dw64AuthoredDownloadSize,
    __in LPCWSTR wzDestinationPath
    );

The reason for the untyped pointer was the only thing that really cared about 
it was the Authentication callback, so I abstracted that away and I'm allowing 
the caller to define what context he needs for authentication. This allows the 
engine to pass a pointer a struct containing the UX, and other IDs, while a BAF 
can pass the information it cares about (and each have their own independent 
auth routine). I also moved the structs needed and renamed them to not be burn 
specific, and used typedefs in the engine to allow the BURN_* types to function.

With this setup, I am 99% of the way there where the engine changes originally 
committed have been ported to a BAF. My final hold up is finding a clean way to 
get the bundle version from the UX manifest. Was it an intentional decision to 
not expose the UX manifest to the BA?



From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com]
Sent: Thursday, October 17, 2013 1:21 PM
To: Windows Installer XML toolset developer mailing list
Subject: [WiX-devs] RFC: Download functionality

After today's triage, I'm looking to start a discussion on migrating the burn 
engine's download functionality to balutil so that BA's can utilize the same 
code without having to go through the engine.

After a speedy review, it looks like the amount of engine specific hooks is 
limited to the UX window handle and an on error callback. If it is that simple 
I may try migrating this myself.

Thanks,
Jacob

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to