/* WebDownloader for X-Window
* Copyright (C) 1999-2002 Koshelev Maxim
* This Program is free but not GPL!!! You can't modify it
* without agreement with author. You can't distribute modified
* program but you can distribute unmodified program.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef _MY_T_ADDR
#define _MY_T_ADDR
#include "locstr.h"
#include <string>
#include "path.h"
enum D_PROTOS{
D_PROTO_UNKNOWN,
D_PROTO_FTP,
D_PROTO_HTTP,
D_PROTO_HTTPS,
D_PROTO_SEARCH,
D_PROTO_SOCKS,
D_PROTO_LAST
};
namespace d4x{
struct ShortURL{
std::string host,file,params;
Path path;
int proto,port;
ShortURL():proto(D_PROTO_UNKNOWN),port(0){};
operator std::string() const;
};
struct URL:public ShortURL{
std::string user,pass;
std::string tag; // temporary field for HTML recursiont + filters
bool mask; // to specify '*.*' files etc.
URL():mask(false){};
URL(const URL&_u):ShortURL(_u),user(_u.user),pass(_u.user),tag(_u.tag),mask(_u.mask){};
URL(const std::string &_s);
URL &operator=(const URL &_u);
bool operator==(const URL &_u) const;
bool operator<(const URL &u) const;
bool is_valid();
operator std::string() const;
void copy_host(const URL&_u);
void clear();
};
};
int get_proto_by_name(const char *str);
int get_port_by_proto(int proto);
const char *get_name_by_proto(int proto);
int global_url(char *url);
#endif
syntax highlighted by Code2HTML, v. 0.9.1