home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 June / PCWorld_2003-06_cd.bin / KOMUNIK / MIRRORIT / SRC / URL.H < prev   
C/C++ Source or Header  |  1997-12-27  |  2KB  |  79 lines

  1. #if !defined(AFX_URL_H__E9B68BF0_52E8_11D1_AF0A_0000C0003048__INCLUDED_)
  2. #define AFX_URL_H__E9B68BF0_52E8_11D1_AF0A_0000C0003048__INCLUDED_
  3.  
  4. #if _MSC_VER >= 1000
  5. #pragma once
  6. #endif // _MSC_VER >= 1000
  7. // URL.h : header file
  8. //
  9.  
  10. /////////////////////////////////////////////////////////////////////////////
  11. // CURL command target
  12.  
  13. #define SEPCHAR        '\\'
  14.  
  15. #define URL_NOERROR        0    //net_loc exists
  16. #define    URL_EMPTY        1    //empty url
  17. #define    URL_INVALID        -1    //parsing error
  18.  
  19. #define    SCHEME_UNKNOWN    0
  20. #define    SCHEME_FILE        1
  21. #define    SCHEME_HTTP        2
  22.  
  23. class CURL : public CObject
  24. {
  25. // Attributes
  26. public:
  27.  
  28. // Operations
  29. public:
  30.     CURL();
  31.     CURL(int aurltype, CString ascheme, CString anet_loc, CString apath, CString aparams, CString aquery, CString afragment);
  32.     virtual ~CURL();
  33.  
  34. // Overrides
  35. public:
  36.     void parse(LPCSTR url);
  37.     void getname(CString & name);
  38.     void getdir(CString & dir);
  39.     void topath(CString & res);
  40.     LPCSTR relbuild(CString &relurl);
  41.     CURL(LPCSTR url);
  42.     CURL * expand(CURL *base);
  43.     LPCSTR build(CString& url);
  44.  
  45.     int urltype;
  46.     int schemetype;
  47.     CString fragment;
  48.     CString params;
  49.     CString query;
  50.     CString path;
  51.     CString net_loc;
  52.     CString scheme;
  53.     // ClassWizard generated virtual function overrides
  54.     //{{AFX_VIRTUAL(CURL)
  55.     //}}AFX_VIRTUAL
  56.  
  57.     // Generated message map functions
  58.     //{{AFX_MSG(CURL)
  59.         // NOTE - the ClassWizard will add and remove member functions here.
  60.     //}}AFX_MSG
  61.  
  62. // Implementation
  63. protected:
  64. private:
  65.     LPCSTR nextsegment(LPCSTR s);
  66.     LPCSTR prevsegment(LPCSTR base, LPCSTR s);
  67.     int abs_path(LPCSTR s, LPCSTR & spath, LPCSTR & sparams, LPCSTR & squery);
  68.     int rel_path(LPCSTR s, LPCSTR &spath, LPCSTR &sparams, LPCSTR &squery);
  69.     void setschemetype();
  70. };
  71.  
  72. /////////////////////////////////////////////////////////////////////////////
  73.  
  74. //{{AFX_INSERT_LOCATION}}
  75. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  76.  
  77. #endif // !defined(AFX_URL_H__E9B68BF0_52E8_11D1_AF0A_0000C0003048__INCLUDED_)
  78.  
  79.