gst-plugins-mythtv/src/gmyth_uri.h
author rosfran
Mon Oct 23 16:02:15 2006 +0100 (2006-10-23)
branchtrunk
changeset 41 686549eb5657
parent 13 f3cdc7844178
permissions -rwxr-xr-x
[svn r42] Added FileTransfer, URI and LiveTV functionalities (moved from the MythTV plug-in).
leo_sobral@2
     1
/**
leo_sobral@2
     2
 *
rosfran@40
     3
 *	GMythURI utils
leo_sobral@2
     4
 *  - Extracts and parses a URI char string, in according with the RFC 2396 
leo_sobral@2
     5
 *    [http://www.ietf.org/rfc/rfc2396.txt]
leo_sobral@2
     6
 *
leo_sobral@2
     7
 * @author Rosfran Borges (rosfran.borges@indt.org.br)
leo_sobral@2
     8
 * 
leo_sobral@2
     9
 */
leo_sobral@2
    10
rosfran@40
    11
#ifndef _GMYTH_URI_H_
rosfran@40
    12
#define _GMYTH_URI_H_
leo_sobral@2
    13
leo_sobral@2
    14
#include <glib.h>
leo_sobral@2
    15
leo_sobral@2
    16
/****************************************
leo_sobral@2
    17
* Define
leo_sobral@2
    18
****************************************/
leo_sobral@2
    19
rosfran@40
    20
#define GMYTH_URI_KNKOWN_PORT (-1)
rosfran@40
    21
#define GMYTH_URI_DEFAULT_HTTP_PORT 80
rosfran@40
    22
#define GMYTH_URI_DEFAULT_FTP_PORT 21
rosfran@40
    23
#define GMYTH_URI_DEFAULT_PATH "/"
rosfran@40
    24
#define GMYTH_URI_MAXLEN 256
leo_sobral@2
    25
rosfran@40
    26
#define GMYTH_URI_PROTOCOL_DELIM "://"
rosfran@40
    27
#define GMYTH_URI_USER_DELIM "@"
rosfran@40
    28
#define GMYTH_URI_COLON_DELIM ":"
rosfran@40
    29
#define GMYTH_URI_SLASH_DELIM "/"
rosfran@40
    30
#define GMYTH_URI_SBLACET_DELIM "["
rosfran@40
    31
#define GMYTH_URI_EBLACET_DELIM "]"
rosfran@40
    32
#define GMYTH_URI_SHARP_DELIM "#"
rosfran@40
    33
#define GMYTH_URI_QUESTION_DELIM "?"
rosfran@40
    34
#define GMYTH_URI_ESCAPING_CHAR "%"
leo_sobral@2
    35
rosfran@40
    36
#define GMYTH_URI_PROTOCOL_MYTH "myth"
rosfran@40
    37
#define GMYTH_URI_PROTOCOL_HTTP "http"
rosfran@40
    38
#define GMYTH_URI_PROTOCOL_FTP "ftp"
leo_sobral@2
    39
leo_sobral@2
    40
/****************************************
leo_sobral@2
    41
* Data Type
leo_sobral@2
    42
****************************************/
leo_sobral@2
    43
rosfran@40
    44
typedef struct _GMythURI {
leo_sobral@2
    45
	GString *uri;
leo_sobral@2
    46
	GString *host;
leo_sobral@2
    47
	gint port;
leo_sobral@2
    48
	GString *protocol;
leo_sobral@2
    49
	GString *path;
leo_sobral@2
    50
	GString *fragment;
leo_sobral@2
    51
	GString *user;
leo_sobral@2
    52
	GString *password;
leo_sobral@2
    53
	GString *query;
rosfran@40
    54
} GMythURI;
leo_sobral@2
    55
rosfran@40
    56
const GMythURI *gmyth_uri_new( gchar *value );
leo_sobral@2
    57
rosfran@40
    58
#define gmyth_uri_gethost(urip) (urip->host->str)
rosfran@40
    59
#define gmyth_uri_getport(urip) (urip->port)
rosfran@40
    60
#define gmyth_uri_getprotocol(urip) (urip->protocol->str)
rosfran@40
    61
#define gmyth_uri_getpath(urip) (urip->path->str)
leo_sobral@2
    62
leo_sobral@2
    63
#endif