Timeline


and

10/01/10:

17:58 Changeset in swish [7c3c3d4] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Greatly speed up tests using ProviderFixture? by reusing provider instances.

16:34 Changeset in swish [efdd5f5] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Stop storing consumer pointer in provider instance.

Storing an ISftpConsumer instance in the provider via SwitchConsumer? is inherently dangerous. The provider can be used from many apartments and if the apartment the consumer was created in has ended when a user in another use tries to SwitchConsumer?, CProvider tries to Release the old, dead consumer causing the program to hang.

ISftpConsumer should eventually be replaced by a different mechanism (a combination of IErrorInfo for reporting error messages and custom interfaces in those few situations that need two-way communication) but a rough fix for the moment is to pass a consumer to every ISftpProvider call that's valid for the duration of that call only. This is a messy fix that touches many many files.

09/01/10:

14:07 Changeset in swish [899aaf1] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Fix bug where password dialogues appeared behind the Explorer window.

12:10 Changeset in swish [028504f] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Allow DropTarget? to cancel a transfer mid-file.

When transferring a large file from the local machine to the remote server there was no way to cancel part-way through; cancelling only worked between files. This was a problem if the files were large.

This fix changes CDropTarget so it copies files in 32K chunks and checks for cancellation between each one.

08/01/10:

15:27 Changeset in swish [5c3f378] by alamaison

Tagging as swish-0.3.0.0 after releasing package on SourceForge? ( http://sourceforge.net/projects/swish/files/swish/swish-0.3.0.0/).

13:34 Changeset in swish [69c206f] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Replace old-style PIDL wrappers in ShellDataObject? with basic_pidls.

04:53 Changeset in swish [9a797f6] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Add type-checking.

Whenever a basic_pidl is created from a raw PIDL, either by construction or using attach(), the PIDL is checked to make sure that it matches a type constraint defined by the traits class.

In practice, this means that child PIDLs check that there is only one item in the incoming raw PIDL and throw an exception otherwise.

04:48 Changeset in swish [2015c31] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Fix basic_pidl so that it actually works in real-world scenarios.

Update tests to simulate these scenarios.

Fixes include:

  • Remove default allocator; forces tests to check that all operations use the correct number of template parameters
  • Add templated upcast conversion operator so that casting between wrapped pidl types works as for raw pidls
  • Fix template parameters on + and += to take the allocator parameter
  • Fix swap to take an allocator template parameter
  • Add overloads of + and += that work with a raw parameter
  • Provide pidl_cast to downcast wrapped PIDLs as static_cast can't be overloaded.

07/01/10:

16:00 WikiStart edited by alamaison
(diff)
15:46 WikiStart edited by alamaison
(diff)
15:37 WikiStart edited by alamaison
Moved alpha info to custom floating box (diff)
15:07 WikiStart edited by alamaison
(diff)
15:00 WikiStart edited by alamaison
Put Alpha info into newsflash sidebox (diff)
14:37 SiteStyle edited by alamaison
(diff)
14:32 SiteStyle created by alamaison
13:55 WikiStart edited by alamaison
Added download button (diff)
10:30 WikiStart edited by alamaison
Fix win98 wiki link (diff)
10:29 WikiStart edited by alamaison
Add 0.3.0.0 download link (diff)

03/01/10:

18:06 Changeset in swish [5524660] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Provide option not to show progress for drop target.

This is mainly so that we can run tests without showing UI.

16:11 Changeset in swish [96dfd4c] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Add makedist.bat script to build Swish source packages.

02/01/10:

19:00 Milestone 0.3.0.0 Copy completed
Read-only transfer. Until now, file access has been limited to a file's …
18:02 Changeset in swish [edd34b3] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Update versions etc., prior to release 0.3.0.0.

16:19 Ticket #12 (Connections should not have absolute path to icon) closed by alamaison
fixed
16:15 Ticket #6 (_Connect() should be made public and added to interface) closed by alamaison
wontfix
16:14 Ticket #11 (Need way to remove connections) closed by alamaison
fixed
16:10 Changeset in swish [fb2c0c9] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Windows 98 compatibility fixes.

  • Replace SHBindToParent with our own reimplementation. This function doesn't exist before Windows 2000.
  • /no_robust when compiling interface stubs.
  • Use StrRetToBufW to properly cope with Windows 98 returning ASCII strings.
16:05 Changeset in swish [a501927] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

User Boost.Asio to resolve addresses instead of raw Winsock.

This is for compatibility with Windows 98/Me which don't include the getaddrinfo functions. These used to be provided by the SDK instead but since SDK 6.1 this is #ifdeffed only for versions of windows greater than 2k.

We define the BOOST_ASIO_DISABLE_IOCP macro as the CreateIoCompletionPort? function is present but doesn't seem to work on Windows 98. This macro selects an alternative implementation.

10:09 Ticket #19 (Session pooling doesn't work on Vista) closed by alamaison
fixed: It appears that this was due to Vista Explorer creating folder instances …
09:44 Changeset in swish [147927e] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Change operator+ in pidl namespace to explicitly take basic_pidl arguments.

This was a templated operator that took any arbitrary arguments but that meant that it could sometimes be chosen by Koenig lookup in unexpected places. This should fix that.

31/12/09:

10:32 Changeset in swish [cc071c5] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Temporary fix for string resource problem.

30/12/09:

22:09 Changeset in swish [1bd104f] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Replaced ATL with Comet in the provider project.

This solved a memory leak caused by creating a singleton dispenser instance instead of a static class object.

ATL did not allow us to create our own static class objects (they were, at best, allocated singleton instance on the heap when using DECLARE_CLASSFACTORY_EX. I managed to hack with Comet's policy template mechanism such that certain coclasses just have a class object (no instances or class factory implementation). We use these for the two layers of session dispensers.

29/12/09:

23:37 Changeset in swish [d08ca77] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Replace custom _CoGetObject with WinAPI ::CoGetObject?.

23:36 Changeset in swish [cd47361] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Updated libssh2 and comet prerequs to latest snapshots.

Using swish-specific fork of comet.

23:33 Changeset in swish [222c1ce] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Fixed nasty bug in current_user() that left extra NULLs in the string.

Added convenience functions to convert a ProgId? to a CLSID, and to get a pointer to a component's class object.

28/12/09:

20:56 Changeset in swish [8e8048a] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Moved Comet to main prereqs.bat and updated to latest version.

21/12/09:

19:11 Changeset in swish [a4bb007] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Created a session dispenser object that hands out session instances by moniker.

As well as sorting out the remaining threading issues, this allows us to create a backend session using a string such as "clsid:<some class UUID>:!user@host:port".

19/12/09:

19:52 Changeset in swish [e2fc5c7] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Made the Provider register its own instances in the ROT.

This seems to work better than getting the external pool to manage it. Also added critical section locking to the pool to prevent a race condition.

19:44 Changeset in swish [0cc936d] by alamaison
masterburn-bootstrappercmakede_atl_foldersdevelopfeature/vs2015fix/sync_ui_attemptolder_sdksrelease/0.8.0wip_vs_2015

Moved IDL file to separate interfaces project.

This also builds and registers the Proxy/Stub? DLL allowing calls to these interfaces from different apartments to work correctly.

Note: See TracTimeline for information about the timeline view.