OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Attributes | List of all members
ossimUrl Class Reference

#include <ossimUrl.h>

Public Member Functions

 ossimUrl ()
 
 ossimUrl (const ossimString &url)
 
 ossimUrl (const ossimString &protocol, const ossimString &ip, const ossimString &port, const ossimString &path, const ossimString &params)
 
const ossimStringgetProtocol () const
 
const ossimStringgetIp () const
 
const ossimStringgetPort () const
 
const ossimStringgetPath () const
 
const ossimStringgetParams () const
 
void setProtocol (const ossimString &protocol)
 
void setIp (const ossimString &ip)
 
void setPort (const ossimString &port)
 
void setPath (const ossimString &path)
 
void setParams (const ossimString &params)
 
void setParams (const ossimKeywordlist &kwl)
 
void setFieldsFromUrl (const ossimString &url)
 
ossimString toString () const
 

Protected Attributes

ossimString m_protocol
 
ossimString m_ip
 
ossimString m_port
 
ossimString m_path
 
ossimString m_params
 

Detailed Description

Definition at line 7 of file ossimUrl.h.

Constructor & Destructor Documentation

◆ ossimUrl() [1/3]

ossimUrl::ossimUrl ( )

Definition at line 3 of file ossimUrl.cpp.

4 {
5 
6 }

◆ ossimUrl() [2/3]

ossimUrl::ossimUrl ( const ossimString url)

Definition at line 8 of file ossimUrl.cpp.

References setFieldsFromUrl().

9 {
10  setFieldsFromUrl(url);
11 }
void setFieldsFromUrl(const ossimString &url)
Definition: ossimUrl.cpp:60

◆ ossimUrl() [3/3]

ossimUrl::ossimUrl ( const ossimString protocol,
const ossimString ip,
const ossimString port,
const ossimString path,
const ossimString params 
)

Definition at line 13 of file ossimUrl.cpp.

18 :m_protocol(protocol),
19 m_ip(ip),
20 m_port(port),
21 m_path(path),
22 m_params(params)
23 {
24 
25 }
ossimString m_port
Definition: ossimUrl.h:37
ossimString m_protocol
Definition: ossimUrl.h:35
ossimString m_ip
Definition: ossimUrl.h:36
ossimString m_params
Definition: ossimUrl.h:39
ossimString m_path
Definition: ossimUrl.h:38

Member Function Documentation

◆ getIp()

const ossimString& ossimUrl::getIp ( ) const
inline

Definition at line 18 of file ossimUrl.h.

Referenced by ossimKakaduJpipHandler::makeConnectionIfNeeded().

18 {return m_ip;}
ossimString m_ip
Definition: ossimUrl.h:36

◆ getParams()

const ossimString& ossimUrl::getParams ( ) const
inline

Definition at line 21 of file ossimUrl.h.

21 {return m_params;}
ossimString m_params
Definition: ossimUrl.h:39

◆ getPath()

const ossimString& ossimUrl::getPath ( ) const
inline

Definition at line 20 of file ossimUrl.h.

Referenced by ossimKakaduJpipHandler::makeConnectionIfNeeded().

20 {return m_path;}
ossimString m_path
Definition: ossimUrl.h:38

◆ getPort()

const ossimString& ossimUrl::getPort ( ) const
inline

Definition at line 19 of file ossimUrl.h.

Referenced by ossimKakaduJpipHandler::makeConnectionIfNeeded().

19 {return m_port;}
ossimString m_port
Definition: ossimUrl.h:37

◆ getProtocol()

const ossimString& ossimUrl::getProtocol ( ) const
inline

◆ setFieldsFromUrl()

void ossimUrl::setFieldsFromUrl ( const ossimString url)

Definition at line 60 of file ossimUrl.cpp.

References ossimString::begin(), ossimString::end(), ossimString::find_first_not_of(), ossimString::find_first_of(), m_ip, m_params, m_path, m_port, m_protocol, setIp(), and ossimString::string().

Referenced by ossimUrl().

61 {
62  m_protocol = m_ip = m_port = m_path = m_params = "";
63 
64  // look for something of the form <protocol>://
65  const std::string& s = url.string();
66  std::string::size_type pos = s.find_first_of(":");
67 
68  if(pos == std::string::npos) return;
69 
70  m_protocol = ossimString(s.begin(), s.begin()+pos);
71 
72  // now find the ip and then extract port if embedded in IP
73  //
74  pos = s.find_first_not_of('/', pos+1);
75 
76  if(pos == std::string::npos) return;
77 
78  std::string::size_type nextPos = s.find_first_of('/', pos+1);
79 
80  if(nextPos == std::string::npos)
81  {
82  setIp(ossimString(s.begin()+pos, s.end()));
83  return;
84  }
85  else
86  {
87  setIp(ossimString(s.begin()+pos, s.begin()+nextPos));
88  }
89  // now find the path portion
90  //
91  pos = s.find_first_of('?', nextPos);
92  if(pos == std::string::npos)
93  {
94  m_path = ossimString(s.begin()+nextPos+1, s.end());
95  return;
96  }
97  else
98  {
99  m_path = ossimString(s.begin()+nextPos+1, s.begin()+pos);
100  }
101 
102  m_params = ossimString(s.begin()+pos+1, s.end());
103 
104 }
ossimString m_port
Definition: ossimUrl.h:37
ossimString m_protocol
Definition: ossimUrl.h:35
ossimString m_ip
Definition: ossimUrl.h:36
void setIp(const ossimString &ip)
Definition: ossimUrl.cpp:26
std::string::iterator end()
Definition: ossimString.h:423
std::string::size_type find_first_of(char c, std::string::size_type pos=0) const
Equivalent to find(c, pos).
Definition: ossimString.h:801
std::string::size_type find_first_not_of(char c, std::string::size_type pos=0) const
Returns the smallest character position N such that pos <= N < size(), and such that (*this)[N] does ...
Definition: ossimString.h:813
std::string::iterator begin()
Definition: ossimString.h:420
ossimString m_params
Definition: ossimUrl.h:39
ossimString m_path
Definition: ossimUrl.h:38
const std::string & string() const
Definition: ossimString.h:414

◆ setIp()

void ossimUrl::setIp ( const ossimString ip)

Definition at line 26 of file ossimUrl.cpp.

References m_ip, m_port, and ossimString::string().

Referenced by setFieldsFromUrl().

27 {
28  const std::string& s = ip.string();
29  std::string::size_type pos = s.find_first_of(':');
30  if(pos != std::string::npos)
31  {
32  m_ip = ossimString(s.begin(), s.begin()+pos);
33  m_port = ossimString(s.begin()+pos+1, s.end());
34  }
35  else
36  {
37  m_ip = ip;
38  }
39 }
ossimString m_port
Definition: ossimUrl.h:37
ossimString m_ip
Definition: ossimUrl.h:36
const std::string & string() const
Definition: ossimString.h:414

◆ setParams() [1/2]

void ossimUrl::setParams ( const ossimString params)
inline

Definition at line 27 of file ossimUrl.h.

Referenced by ossimKakaduJpipHandler::allocateSession(), and ossimKakaduJpipHandler::loadClient().

27 {m_params = params;}
ossimString m_params
Definition: ossimUrl.h:39

◆ setParams() [2/2]

void ossimUrl::setParams ( const ossimKeywordlist kwl)

Definition at line 41 of file ossimUrl.cpp.

References ossimString::empty(), ossimKeywordlist::getMap(), and m_params.

42 {
43  m_params = "";
44  const ossimKeywordlist::KeywordMap& map = kwl.getMap();
45  ossimKeywordlist::KeywordMap::const_iterator iter = map.begin();
46  while(iter!=map.end())
47  {
48  if(m_params.empty())
49  {
50  m_params = iter->first + "=" + iter->second;
51  }
52  else
53  {
54  m_params+=("&"+iter->first + "=" + iter->second);
55  }
56  ++iter;
57  }
58 }
std::map< std::string, std::string > KeywordMap
ossimString m_params
Definition: ossimUrl.h:39
const ossimKeywordlist::KeywordMap & getMap() const
bool empty() const
Definition: ossimString.h:411

◆ setPath()

void ossimUrl::setPath ( const ossimString path)
inline

Definition at line 26 of file ossimUrl.h.

26 {m_path = path;}
ossimString m_path
Definition: ossimUrl.h:38

◆ setPort()

void ossimUrl::setPort ( const ossimString port)
inline

Definition at line 25 of file ossimUrl.h.

25 {m_port = port;}
ossimString m_port
Definition: ossimUrl.h:37

◆ setProtocol()

void ossimUrl::setProtocol ( const ossimString protocol)
inline

Definition at line 23 of file ossimUrl.h.

Referenced by ossimKakaduJpipHandler::openStream(), and ossimKakaduJpipHandler::saveState().

23 {m_protocol = protocol;}
ossimString m_protocol
Definition: ossimUrl.h:35

◆ toString()

ossimString ossimUrl::toString ( ) const

Definition at line 106 of file ossimUrl.cpp.

References ossimString::empty(), m_ip, m_params, m_path, m_port, and m_protocol.

Referenced by ossimKakaduJpipHandler::allocateSession(), ossimCurlHttpRequest::getContentLength(), ossimCurlHttpRequest::getResponse(), and ossimKakaduJpipHandler::saveState().

107 {
108  return (m_protocol+"://"+m_ip + (m_port.empty()?"":":"+m_port) +"/"+m_path + (m_params.empty()?"":("?"+m_params)));
109 }
ossimString m_port
Definition: ossimUrl.h:37
ossimString m_protocol
Definition: ossimUrl.h:35
ossimString m_ip
Definition: ossimUrl.h:36
ossimString m_params
Definition: ossimUrl.h:39
ossimString m_path
Definition: ossimUrl.h:38
bool empty() const
Definition: ossimString.h:411

Member Data Documentation

◆ m_ip

ossimString ossimUrl::m_ip
protected

Definition at line 36 of file ossimUrl.h.

Referenced by setFieldsFromUrl(), setIp(), and toString().

◆ m_params

ossimString ossimUrl::m_params
protected

Definition at line 39 of file ossimUrl.h.

Referenced by setFieldsFromUrl(), setParams(), and toString().

◆ m_path

ossimString ossimUrl::m_path
protected

Definition at line 38 of file ossimUrl.h.

Referenced by setFieldsFromUrl(), and toString().

◆ m_port

ossimString ossimUrl::m_port
protected

Definition at line 37 of file ossimUrl.h.

Referenced by setFieldsFromUrl(), setIp(), and toString().

◆ m_protocol

ossimString ossimUrl::m_protocol
protected

Definition at line 35 of file ossimUrl.h.

Referenced by setFieldsFromUrl(), and toString().


The documentation for this class was generated from the following files: