Merge lp:~mandel/ubuntuone-windows-installer/initial_code into lp:ubuntuone-windows-installer/beta

Proposed by Manuel de la Peña
Status: Merged
Approved by: Rodrigo Moya
Approved revision: 3
Merged at revision: 28
Proposed branch: lp:~mandel/ubuntuone-windows-installer/initial_code
Merge into: lp:ubuntuone-windows-installer/beta
To merge this branch: bzr merge lp:~mandel/ubuntuone-windows-installer/initial_code
Reviewer Review Type Date Requested Status
Rodrigo Moya (community) Approve
Vincenzo Di Somma (community) Approve
Review via email: mp+29804@code.launchpad.net

Description of the change

A lot of initial code, I should have done a lot earlier. This code provides the different initial project layout for c# as well as build script.

Sorry for taking this long...

To post a comment you must log in.
2. By Manuel de la Peña

Merge with mandels junk due to missing nant bin

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Code-wise it looks ok, didn't see anything obviously wrong, but can't test, and I share your worry about all the code that needs to be written for the Windows port. I thought using IronPython we would be able to run the syncdaemon's python code with the Linux-specific parts ported to Windows, so why are all those Syncdaemon* interfaces/classes needed?

review: Needs Information
Revision history for this message
Manuel de la Peña (mandel) wrote :

> Code-wise it looks ok, didn't see anything obviously wrong, but can't test,
> and I share your worry about all the code that needs to be written for the
> Windows port. I thought using IronPython we would be able to run the
> syncdaemon's python code with the Linux-specific parts ported to Windows, so
> why are all those Syncdaemon* interfaces/classes needed?

We have a bigger problem that simply the dbus interface. There are actually several issues with adapting the code to windows:

1. In a Windows OS there can only be one service with a name. There are two ways to fix this:
   a. Create two different installations of the service that have different names (UbuntuOneMandel && UbuntuOneRodrigo) for example: http://www.codeproject.com/KB/dotnet/MultipleInstNetWinService.aspx
   b. Create a single service that will listen to requests from the client to start a process per user that will host the daemon.

2. I do not know the extend to which we are using twisted but I do know as a fact that twisted like to run in the main thread but if it is hosted as a windows service this will never happen.

3. IPC communication is .Net languages can easily be done with WCF but this does no favour IPC with langs like python for that we can either:
   a. Use an XML based IPC.
   b. Create a IPC communication (named pipe or sockets) between C# and pyhton and expose a hosted WCF windows service to allow .Net langs to communicate with the daemon.

I find the solution 1.a very ugly so I went for 1.b, solution 1.b fixes issue 2 and I went for 3.b because it will promote applications to interact with the daemon and will make it more "native".

3. By Manuel de la Peña

Missing licenses

Revision history for this message
Vincenzo Di Somma (vds) wrote :

I don't know C#, but I've discussed this branch with the author for a while and all the tests pass.

review: Approve
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Ok, if you both agree and it works, +1 from me

review: Approve

Subscribers

People subscribed via source and target branches

to all changes: