LinuxMCE Forums
May 18, 2013, 09:23:21 pm GMT-1 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
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
 
   Home   Help Search Chat Login Register  
Pages: [1] 2
  Print  
Author Topic: Programming Challenge: DCE Device: Torrent Downloader PlugIn  (Read 5060 times)
tschak909
LinuxMCE God
****
Posts: 5101

DOES work for LinuxMCE.


View Profile
« on: June 29, 2009, 07:33:08 pm »

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
Logged
posde
Administrator
LinuxMCE God
*****
Posts: 2620


Wastes Life On LinuxMCE Since 2007


View Profile WWW
« Reply #1 on: June 29, 2009, 07:39:36 pm »

Good luck, Gentlemen.

Chauvinist!

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

.

.

.

 Grin
Logged

wierdbeard65
Guru
****
Posts: 449


View Profile WWW
« Reply #2 on: June 29, 2009, 07:43:17 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  Wink
Logged

Paul
If you have the time to help, please see where I have got to at: http://wiki.linuxmce.org/index.php/User:Wierdbeard65
tschak909
LinuxMCE God
****
Posts: 5101

DOES work for LinuxMCE.


View Profile
« Reply #3 on: June 29, 2009, 07:46:46 pm »

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

-Thom
Logged
hari
Administrator
LinuxMCE God
*****
Posts: 2412



View Profile WWW
« Reply #4 on: June 29, 2009, 08:22:49 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  Wink
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
Logged

rock your home - http://www.agocontrol.com home automation
wierdbeard65
Guru
****
Posts: 449


View Profile WWW
« Reply #5 on: June 29, 2009, 08:37:07 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 Wink ) I wasn't calling for a Beta, I was suggesting that Thom wasn't being a chauvinist....

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 Grin
Logged

Paul
If you have the time to help, please see where I have got to at: http://wiki.linuxmce.org/index.php/User:Wierdbeard65
hari
Administrator
LinuxMCE God
*****
Posts: 2412



View Profile WWW
« Reply #6 on: June 29, 2009, 08:47:52 pm »

Have done, sorry to cause problems! I got carried away playing with FaceBook Grin
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
Logged

rock your home - http://www.agocontrol.com home automation
Techstyle
Addicted
*
Posts: 662



View Profile WWW
« Reply #7 on: July 01, 2009, 03:21:33 am »

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?
Logged

darrenmason
Addicted
*
Posts: 529


View Profile
« Reply #8 on: July 01, 2009, 03:38:29 am »

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....
Logged
WhateverFits
Veteran
***
Posts: 141



View Profile WWW
« Reply #9 on: July 01, 2009, 04:21:15 pm »

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.
Logged

tschak909
LinuxMCE God
****
Posts: 5101

DOES work for LinuxMCE.


View Profile
« Reply #10 on: July 01, 2009, 05:21:32 pm »

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
Logged
WhateverFits
Veteran
***
Posts: 141



View Profile WWW
« Reply #11 on: July 01, 2009, 05:42:59 pm »

(4) Sample code on their website
Cheesy

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.
Logged

tschak909
LinuxMCE God
****
Posts: 5101

DOES work for LinuxMCE.


View Profile
« Reply #12 on: July 15, 2009, 08:24:18 am »

Bump this to top, is anyone working on this?

-Thom
Logged
darrenmason
Addicted
*
Posts: 529


View Profile
« Reply #13 on: July 15, 2009, 11:17:04 pm »

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.
Logged
tschak909
LinuxMCE God
****
Posts: 5101

DOES work for LinuxMCE.


View Profile
« Reply #14 on: August 18, 2009, 04:33:48 am »

is anyone still working on this?

-thom
Logged
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!