aMSN Forums
May 24, 2013, 01:30:59 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: New forum for aMSN !!
 
   Home   Help Search Login Register  
Pages: 1 [2] 3
  Print  
Author Topic: UPNP an feature wanted..  (Read 30596 times)
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #15 on: February 17, 2008, 09:32:01 pm »

Humm.. yeah ok, but I don't see any docs.. I saw two code examples and it was completely different.. in any case, if you want to take care of that, then don't hesitate.. you already know that patches are welcomed :p Wink
Logged

KaKaRoTo
H@t Trick
Super Power User
**
Offline Offline

Posts: 340



View Profile
« Reply #16 on: February 17, 2008, 09:52:12 pm »

lol I thought you might say that. You know what, I do want this feature and I am sure it is worth it. It's time to break out my C textbooks and refresh my memory (it's been a while lol), then learn tcl (you said it's easy right?). I gotta get a desk set up asap then (or hopefully a new notebook soon!!) so I have a proper workspace. Expect a lot of questions. I am thinking to first understand the code and then rewrite it in Tcl, then I will have to figure out how to integrate it with aMSN. It looks like UPnP on a Mac though may not be possible. Do any of the devs who do a lot of the Mac work have any info for me on this? I will not be able to test on a Mac, only XP and Linux (not sure which distro yet, but potentially both Ubuntu and Xandros).

Oh man....what did I get myself into? Tongue lol
Logged

There's no place like 127.0.0.1!
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #17 on: February 18, 2008, 02:29:52 am »

lol, yeah, what did you get yourself into ... :p
for mac, ask Tom H. or ask in the mac forums.. if you need more questions about this, don't hesitate..
yes, Tcl is very easy to learn as long as you have a programming background.. About what to do, no, rewrite it in Tcl is not what should be done.. you should write a simple API for Tcl to use, and write the code in C and make a Tcl extension for it.. look at the existing extensions, that's what I do, it's the easiest you can do.. just copy an existing extension, remove whatever is not needed and fix the code to do what you want.. the API should be simple enough, like "::upnp::RequestPort" or something.. You can read the docs on the tcl/tk lib man pages, they'll be useful..
good luck and most importantly, have fun! Smiley
Logged

KaKaRoTo
H@t Trick
Super Power User
**
Offline Offline

Posts: 340



View Profile
« Reply #18 on: February 18, 2008, 04:38:31 am »

Ok thanks! If I write it in C, could I not just use the existing library and write a Tcl extension for the existing library? And if I do it in C and compile (oh now I need to find my old C compiler),  isn't it then only for DOS/Windows x86 as I am on Window and I've only ever compiled on DOS/Windows (and cross-compiled for Moto HC11 microcontroller...oh that brings back memories, RISC assembler/assembly is EASY). I assume the same code could be compiled on Linux, and I could get someone to compile on mac for me right?
That API looks simple enough, I just have to figure out how to do things.
Will have to wait till after I get back from a week vacation in Edmonton  lol
Logged

There's no place like 127.0.0.1!
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #19 on: February 18, 2008, 06:20:21 am »

hehe, don't worry about compilation, you just need to compile it on your machine to make sure there are no compilation problems, but then the mac maintainer will take care of compiling for mac, and the windows maintainer will compile it for windows, and the linux users will compile it themselves... basically, you don't need to give out binaries, just the source...

EDIT: Oh and yes, you can wrap the library directly if you want, but you can also make code that uses the library to make it easier... for example, instead of having a function do the init, and several functions getting called to open one port, put the init in the Upnp_Init function and maybe put it all the necessary calls into one function and make that function accessible through Tcl...
Logged

KaKaRoTo
H@t Trick
Super Power User
**
Offline Offline

Posts: 340



View Profile
« Reply #20 on: February 18, 2008, 11:05:05 pm »

Oh ok that makes things easier.
I will see how things go and keep you updated
Logged

There's no place like 127.0.0.1!
afv
Newbie

Offline Offline

Posts: 31


View Profile
« Reply #21 on: February 25, 2009, 02:30:01 pm »

kakaroto, is it now supported? Smiley

Quote
compile time options summary
============================

    X11          : yes
    Tcl       : 8.6
    TK        : 8.6
    DEBUG        : no
    STATIC       : no
    FARSIGHT     : yes
    LIBV4L       : yes
    GUPNP-IGD    : yes



But doesn't seem to open any ports on my router when I try to send a file :roll:
Logged
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #22 on: February 25, 2009, 08:08:10 pm »

yes it won't.. for now, I just wrote the code to export the gupnp-igd library to Tcl... we still need to make the tcl changes to actually use it.. should be fairly easy and will require only a few small lines of code
Logged

KaKaRoTo
Montblanc
Super Power User
**
Offline Offline

Posts: 173



View Profile WWW
« Reply #23 on: February 25, 2009, 08:33:21 pm »

That's a nice feature, kakaroto! Smiley
Logged
matthaeus123
Newbie

Offline Offline

Posts: 12


View Profile
« Reply #24 on: March 11, 2009, 07:33:20 pm »

what libraries do i need to get gupnp-igd enabled?
Logged
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #25 on: March 11, 2009, 07:51:30 pm »

libgupnp-1.0-dev, libgssdp-1.0-dev and libgupnp-igd
http://www.gupnp.org/sources/

and by the way, the svn version now uses upnp for webcam and file transfers too.. yeay!
Logged

KaKaRoTo
matthaeus123
Newbie

Offline Offline

Posts: 12


View Profile
« Reply #26 on: March 11, 2009, 08:11:08 pm »

looks like they don't have it in the ubuntu repos sadly
Logged
H@t Trick
Super Power User
**
Offline Offline

Posts: 340



View Profile
« Reply #27 on: March 11, 2009, 11:44:03 pm »

unless the repos are based on SVN releases then no they would not be. You have to be using the SVN version to get this functionality.
Logged

There's no place like 127.0.0.1!
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9428


View Profile WWW
« Reply #28 on: March 11, 2009, 11:59:59 pm »

@H@T Trick:  hi, welcome back! how was your trip ?
btw, he was talking about libgupnp-igd that isn't on the repos...
@matthaeus123: yes, I know that's why I gave you the link to the sources.. the ubuntu repos might also have a too old version of libgupnp (you need at least 0.12.3), so again if they have an old version you'd have to compile it yourself.
Logged

KaKaRoTo
matthaeus123
Newbie

Offline Offline

Posts: 12


View Profile
« Reply #29 on: March 12, 2009, 01:03:48 am »

I used the debian repos to get the updated packages, but they still didn't have libgupnp-igd.
I'll make a ppa for that later maybe
Logged
Pages: 1 [2] 3
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!