News:

Rule #1 - Be Patient - Rule #2 - Don't ask when, if you don't contribute - Rule #3 - You have coding skills - LinuxMCE's small brother is available: http://www.agocontrol.com

Main Menu

Programming Challenge: DCE Device: Torrent Downloader PlugIn

Started by tschak909, June 29, 2009, 08:33:08 PM

Previous topic - Next topic

tschak909

Here's something for those of you wishing to dig more into the system:

The result must be a new DCE Plugin, "Torrent PlugIn", written in C++, which uses LibTorrent-Rasterbar as its back-end.

It must implement the following DCE Commands:

Add Torrent to Queue
Remove Torrent from Queue
Report Queue Entry Status

* It must implement the following DCE Events (these will need to be created):

Download Starting
Download Finished


THERE WILL BE NO FURTHER DISCUSSION OF FEATURES FOR THIS DEVICE AT THIS TIME. THIS IS A PROGRAMMING EXERCISE INTENDED TO FACILITATE LEARNING OF THE SYSTEM, AND TO PROVIDE A BASE ON WHICH FURTHER DEVELOPMENT WILL BE BASED.


* It must place its status items on the Task List (the same task list that is used to display orbiter regeneration status, and disc ripping status)

* This is all the device itself needs to do. There is no UI. This will be handled by the web admin, and the Orbiter.

* This must use the LinuxMCE-0810 branch of code. The 0710 branch must not be used.

* Use the web admin to create the appropriate device template. Use the Climate Plugin as a template.

* Use DCEGen to create the appropriate C++ source code stubs to implement.

* Use sql2cpp to generate the necessary defines for the rest of the system.

* Test the device using the web admin, add the device to the router as a child, then reload router, and use the Send Command to Device link to send commands to the device to test it.

Developers will be on hand to answer questions. The more specific the questions, the more specific the answers. I would suggest reading the Programmers Guide pages category in the wiki.

Good luck, Gentlemen.

-------------------------------------------

-Thom

Marie.O

Quote from: tschak909 on June 29, 2009, 08:33:08 PM
Good luck, Gentlemen.

Chauvinist!

what about the ladies? Don't you think, they can take on a challenge like that as well?

.

.

.

;D
If I helped you, feel free to buy me a coffee: [url="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2VKASZLTJH7ES"]https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2VKASZLTJH7ES[/url]

wierdbeard65

Quote from: posde on June 29, 2009, 08:39:36 PM
what about the ladies? Don't you think, they can take on a challenge like that as well?

Beta testers! You need a tough audience for a thorough test  ;)
Paul
If you have the time to help, please see where I have got to at: [url="http://wiki.linuxmce.org/index.php/User:Wierdbeard65"]http://wiki.linuxmce.org/index.php/User:Wierdbeard65[/url]

tschak909

Not there yet fellas, this needs to be developed first. There is no user interface to test. Please read the initial requirements again.

-Thom

hari

Quote from: wierdbeard65 on June 29, 2009, 08:43:17 PM
Quote from: posde on June 29, 2009, 08:39:36 PM
what about the ladies? Don't you think, they can take on a challenge like that as well?

Beta testers! You need a tough audience for a thorough test  ;)
hehe, no code yet and you already call for beta :-p

now as you post in the dev section, may I kindy ask you to modify your footer? Maybe you want to move your avatar and any other network/im/maill related info to the left. That footer banner wastes space and distracts (in my opinion). We try hard to keep this forum banner free. Possible thanks to donations from e.g. abaton.at
So I would really appreciate if you could rethink your "profile" :-)

br, Hari
rock your home - [url="http://www.agocontrol.com"]http://www.agocontrol.com[/url] home automation

wierdbeard65

Quote from: hari on June 29, 2009, 09:22:49 PM
hehe, no code yet and you already call for beta :-p

That comment was meant as a tongue-in-cheek response to posde's comment about involving the ladies (which is why I quoted him ;) ) I wasn't calling for a Beta, I was suggesting that Thom wasn't being a chauvinist....

Quote from: hari on June 29, 2009, 09:22:49 PM
now as you post in the dev section, may I kindy ask you to modify your footer? Maybe you want to move your avatar and any other network/im/maill related info to the left. That footer banner wastes space and distracts (in my opinion). We try hard to keep this forum banner free. Possible thanks to donations from e.g. abaton.at
So I would really appreciate if you could rethink your "profile" :-)

Have done, sorry to cause problems! I got carried away playing with FaceBook ;D
Paul
If you have the time to help, please see where I have got to at: [url="http://wiki.linuxmce.org/index.php/User:Wierdbeard65"]http://wiki.linuxmce.org/index.php/User:Wierdbeard65[/url]

hari

Quote from: wierdbeard65 on June 29, 2009, 09:37:07 PM
Have done, sorry to cause problems! I got carried away playing with FaceBook ;D
no need to be sorry, thanks for rethinking. But you might want to continue using the picture as avatar :-p

We have no clear policy regarding them but readability of the forums is much higher if ppl tend to use short footers..

uups, I'm off topic..

br, Hari
rock your home - [url="http://www.agocontrol.com"]http://www.agocontrol.com[/url] home automation

Techstyle

Who (hopefully from the 'community' page of the wiki) is taking a crack at this project?

It is beyond me but it would be good to know who is trying this?
Techstyle UK Ltd
[url=http://www.techstyleuk.co.uk]http://www.techstyleuk.co.uk[/url]

Techstyle US Inc.
[url=http://www.techstyleus.com]http://www.techstyleus.com[/url]

darrenmason

I think I might. It is a good excuse for me to get off of a$% and 'make' some time for doing this.
Started the dev setup last night with a few problems but will post those to another thread....

WhateverFits

I'm in. I started setting up the 8.10 build environment a few days ago. I'm almost done with that. It looks like there are a few simple examples of both a DCE plugin and the torrent handling available.
[url="http://www.seanwalker.org"]http://www.seanwalker.org[/url]

tschak909

As I said before, the best approach is to use libtorrent-rasterbar. As it is:

(1) a modern torrent implementation, with all current extesions
(2) written in C++
(3) nicely abstractable to a thread

-Thom

WhateverFits

(4) Sample code on their website
:D

I already read their sample code and touched on their docs. The docs are big. The sample code is small. It looks really simple to include basic torrent functionality in a plugin. The more complex features look more complex, of course.

This is also a nice way of upping my C++ coding skills. I haven't done any C++ since last year and that was just for one project.
[url="http://www.seanwalker.org"]http://www.seanwalker.org[/url]

tschak909


darrenmason

I am, but only get one night a week to spend time on it. (on average)

Have generated device, and put the shells of code together for the job classes. Got stuck on getting DCERouter rebuilt and installed as per the build instructions. I wrote some details in another thread.

tschak909