00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef URL_H
00020
#define URL_H
00021
00022
#include "mnstream.h"
00023
00024
00025
00026
00027
00028 class Url
00029 {
00030
public:
00031 enum Protocol {
00032
P_INVALID = 0,
00033
P_RTSP = 1,
00034
P_FILE = 2,
00035
P_RTP = 3,
00036
P_HTTP = 4
00037 };
00038
00039
private:
00040
char* _url;
00041
char* _mem;
00042
const char* _path;
00043
const char* _pcol;
00044
const char* _host;
00045
const char* _user;
00046
const char* _port;
00047
00048
public:
00049
Url( );
00050
Url(
const Url& orig );
00051
Url(
const char* url );
00052
~Url( );
00053
00054
Url&
operator= (
const Url& orig );
00055
00056
const char*
getUrl( ) const;
00057 const
char* getHost( ) const;
00058 const
char* getPath( ) const;
00059 Protocol getProtocol( ) const;
00060
bool isValid( ) const;
00061
void validate( const
char* input );
00062
bool hasPort( ) const;
00063
int getPortAsInt( ) const;
00064
00065 friend ostream& operator<<( ostream& ostr, Protocol url );
00066 };
00067
00068 #endif
00069