← Back to team overview

launchpad-dev team mailing list archive

Re: Want feedback on LaunchpadSharp

 

Apart from all in the previous mail, I would like to ask a few more questions. All these examples are hypotheical just for sake of discussion and clarification

1) If version 1.0 of LP has a entity *bug* and a method names *checkBugIsValid* , then if you change the name of method to *checkBugValidity* in v2.0 , then the client will generate the proxy for it. Now the problem comes with applications which have always been using method *checkBugIsValid* will break. Isn't it? How does launchpadlib actually deal with it?

This means that applications have to be made for a specific version of launchpad API version? If my application is named foo, then it means I need to have backend names libfoo-lp1.0 and libfoo-lp2.0 If only one application has to be maintained, then how will the application know that to check that the bug is valid, it needs to call which method name. Atleast this much hardcoding has to be there. The application needs to know which actual method to call when someone clicks on the button "Check if the Bug is Valid"

2) I was thinking of making the correct version in the following way:
One component which takes in the WADL string and creates the library (dll) which can be loaded at runtime. Applications when started first check which version of LP is available. As per the latest stable release, it downloads the WADL file, sends this to the component mentioned above which created the library and this library is sent back the application which loads it at runtime.

Loading modules/assemblies at runtime is supported by CLI.
Mono also supports it [ http://www.go-mono.com/docs/index.aspx?link=M%3aSystem.Reflection.Assembly.LoadFile%28System.String%29 ]

Once the assembly is loaded (like loading modules in Python), then rest everything continues as required.




Is what I said above correct and feasible? Please let me know. By that time I am off to learn Reflection.

--
Mainish Sinha
http://launchpad.net/~manishsinha



References