Syllable Forum Index Syllable
Syllable Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

First POTM poll
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Syllable Forum Index -> Community Project
View previous topic :: View next topic  
Author Message
donski



Joined: 21 Aug 2008
Posts: 5
Location: Australia

PostPosted: Sun Aug 31, 2008 6:52 pm    Post subject: Reply with quote

I voted for FTP. I'd be happy to work on the GUI side.

For the people working on this, what's the best way to communicate (forum or Altme?). Can we store the code in the syllable CVS tree?
Back to top
View user's profile Send private message
Morph
The Knights of Syllable


Joined: 18 Oct 2007
Posts: 316
Location: Australia

PostPosted: Mon Sep 01, 2008 4:08 am    Post subject: Reply with quote

I voted for the ftp client. I'm happy to do some work on the backend.
Back to top
View user's profile Send private message Visit poster's website
Vanders
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 849

PostPosted: Mon Sep 01, 2008 4:12 am    Post subject: Reply with quote

[quote="donski"]For the people working on this, what's the best way to communicate (forum or Altme?). Can we store the code in the syllable CVS tree?[/quote]

If we get a project lead and at least two developers (& it looks like we have, now) I shall set up a simple Wiki and arrange some form of source-control for everyone to use. Everyone is free to join in on AltME too, if you'd like. Just ask Kaj and he can create a username for you!

Anthony, would you be willing to act as lead-developer for this? It shouldn't involve too much work: just dealing with communication between the people working on POTM.
Back to top
View user's profile Send private message Send e-mail
Morph
The Knights of Syllable


Joined: 18 Oct 2007
Posts: 316
Location: Australia

PostPosted: Mon Sep 01, 2008 7:58 am    Post subject: Reply with quote

Yeah, ok Smile
Back to top
View user's profile Send private message Visit poster's website
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Mon Sep 01, 2008 10:25 am    Post subject: Reply with quote

[quote="Morph"]I voted for the ftp client. I'm happy to do some work on the backend.[/quote]

Count me in also Smile
Back to top
View user's profile Send private message
Vanders
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 849

PostPosted: Tue Sep 02, 2008 7:59 am    Post subject: Reply with quote

The Wiki is now available at http://forum.syllable.org/pmwiki Please read the Announcement in the POTM forum for more information.
Back to top
View user's profile Send private message Send e-mail
Morph
The Knights of Syllable


Joined: 18 Oct 2007
Posts: 316
Location: Australia

PostPosted: Tue Sep 02, 2008 4:00 pm    Post subject: Reply with quote

There's some discussion going on about the FTP client in the Syllable Users [url=http://forum.syllable.org/viewtopic.php?t=927]AltME world[/url] - PM or email [url=http://forum.syllable.org/profile.php?mode=viewprofile&u=25]Kaj[/url] or [url=http://forum.syllable.org/profile.php?mode=viewprofile&u=610]Bas[/url] to join!
Back to top
View user's profile Send private message Visit poster's website
donski



Joined: 21 Aug 2008
Posts: 5
Location: Australia

PostPosted: Tue Sep 02, 2008 7:53 pm    Post subject: Reply with quote

pm sent to Kaj!
Back to top
View user's profile Send private message
NecroRomancist



Joined: 18 Sep 2007
Posts: 272

PostPosted: Wed Sep 03, 2008 10:24 pm    Post subject: Reply with quote

I've been working on a structure for the ftpclient backend (please comment)

[code:1]
#ifndef _dnode_
#define _dnode_

#include <stdio.h>
#include "ServerConnection.hpp"

typedef enum protocol {FTP,FTPS,TFTP,HTTP,HTTPS}protocol;

typedef enum status{CANCELLED,FINISHED,WIP}status;

typedef enum action{download,upload}action;

typedef enum transfer_mode{ASCII,BIN}transfer_mode;
class QueueNode{
public:
QueueNode();
/*
* If true then we should save the downloads info
*/
closeStream(bool b);
/*
* Added because 1 server can have N downloads
*/
void setServerConnection(ServerConnection *);
void setTransferMode();
char * progress;
virtual void process(action a);
private:
ServerConnection * server;
/*
* handler to write/read the file
*/
FILE * stream;
~QueueNode();
status stat;
transfer_mode mode;
};

class HTTPQueueNode{
public:
HTTPQueueNode() : QueueNode(){};
void process(action a);
};


class FTPQueueNode{
public:
FTPQueueNode() : QueueNode(){};
void process(action a);
};



#endif
[/code:1]

node.hpp what each download will be.

[code:1]

#ifndef _protocol_handler_
#define _protocol_handler_



class ServerConnection{
public:
ServerConnection(bool ssl);
virtual bool openConnection(char *s ,char * u,char * pass,int p);
virtual bool closeConnection();
private:
bool requires_ssl;
char * server;
char * user;
char * password;
int port;
}

class FtpServerConnection : public ServerConnection{
// call this before in case of FTPS
public:
FtpServerConnection(bool b) : ServerConnection(b){}
bool openConnection(char *s ,char * u,char * pass,int p);
bool closeConnection();
}

class HTTPServerConnection :public ServerConnection{
// call this before in case of HTTPS
HTTPServerConnection(bool b) : ServerConnection(b){}
bool openConnection(char *s ,char * u,char * pass,int p);
bool closeConnection();
}


#endif

[/code:1]

Server connection responsible for the opening of the remote sites

[code:1]

#ifndef download_queue_
#define download_queue_

#include "node.hpp"
#include <list>


class curl_queue{
public:
curl_queue();

// adds at end
void add(QueueNode node);
void moveToTop(QueueNode node);
void moveToBottom(QueueNode node);
void moveToPos(QueueNode node);
/*
* removes from the list all the downloads of a given status
*/
void removeAll(status given);
/* operations on the list */
void resumeAll();
void resume(int pos);
void stop(int pos);
void stopAll();
/*
* sets the number of simultaneous downloads
* allowed
*/
setCount(int count);
~curl_queue();
private:
int simultaneous_transfers=0;
int queued_downloads=0;
std::list<QueueNode *>queue();
}

[/code:1]

The queue list which will serve as the repository for the list of active downloads.
Remember this is just a draft.

Bye
Back to top
View user's profile Send private message
Vanders
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 849

PostPosted: Thu Sep 04, 2008 1:32 am    Post subject: Reply with quote

You may be better off putting all of that on the Wiki rather than here on the forum.
Back to top
View user's profile Send private message Send e-mail
Morph
The Knights of Syllable


Joined: 18 Oct 2007
Posts: 316
Location: Australia

PostPosted: Thu Sep 04, 2008 5:54 am    Post subject: Reply with quote

I'd suggest using os::String instead of char* for the server, username, password, etc.

And don't forget the ';' after the class definitions in the last two files Smile
Back to top
View user's profile Send private message Visit poster's website
forart.eu



Joined: 18 Dec 2008
Posts: 71

PostPosted: Mon Jan 12, 2015 4:47 pm    Post subject: Reply with quote

...and what about a bounty system like Haikuware one ?

http://www.haikuware.com/bounties
Back to top
View user's profile Send private message
Kaj
The Knights of Syllable


Joined: 14 Sep 2007
Posts: 2203
Location: Friesland

PostPosted: Tue Jan 13, 2015 12:22 am    Post subject: Reply with quote

This is the poll for the first project of the month. It is long closed.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Syllable Forum Index -> Community Project All times are GMT - 6 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group