libcamgm
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
src
ca-mgm
Url.hpp
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| |
3
| _ _ _ _ __ _ |
4
| | | | | | \_/ | / \ | | |
5
| | | | | | |_| | / /\ \ | | |
6
| | |__ | | | | | | / ____ \ | |__ |
7
| |____||_| |_| |_|/ / \ \|____| |
8
| |
9
| core library |
10
| |
11
| (C) SUSE Linux Products GmbH |
12
\----------------------------------------------------------------------/
13
14
File: Url.hpp
15
16
Author: Marius Tomaschewski
17
Maintainer: Marius Tomaschewski
18
19
/-*/
24
#ifndef CA_MGM_URL_HPP
25
#define CA_MGM_URL_HPP
26
27
#include <ca-mgm/config.h>
28
#include <
ca-mgm/UrlBase.hpp
>
29
30
31
// -------------------------------------------------------------------
32
namespace
CA_MGM_NAMESPACE
33
{
34
namespace
url
35
{
36
96
class
Url
97
{
98
public
:
102
typedef
ca_mgm::url::EEncoding
EEncoding
;
103
107
typedef
ca_mgm::url::ViewOptions
ViewOptions
;
108
109
110
~
Url
();
111
Url
();
112
123
Url
(
const
Url
&url);
124
125
136
Url
(
const
ca_mgm::url::UrlRef
&url);
137
138
149
Url
(
const
std::string &urlString);
150
151
152
// -----------------
170
static
url::UrlRef
171
parseUrl(
const
std::string &urlString);
172
173
174
// -----------------
186
Url
&
187
operator = (
const
std::string &urlString);
188
189
200
Url
&
201
operator = (
const
Url
&url);
202
203
204
// -----------------
209
std::vector<std::string>
210
getKnownSchemes()
const
;
211
212
227
bool
228
isValidScheme(
const
std::string &scheme)
const
;
229
230
240
bool
241
isValid()
const
;
242
243
244
// -----------------
252
std::string
253
toString
()
const
;
254
267
std::string
268
toString
(
const
ViewOptions
&opts)
const
;
269
279
std::string
280
toCompleteString()
const
;
281
282
283
// -----------------
288
std::string
289
getScheme()
const
;
290
291
292
// -----------------
302
std::string
303
getAuthority()
const
;
304
312
std::string
313
getUsername(
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
314
322
std::string
323
getPassword(
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
324
337
std::string
338
getHost(
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
339
344
std::string
345
getPort()
const
;
346
347
348
// -----------------
358
std::string
359
getPathData()
const
;
360
369
std::string
370
getPathName(
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
371
376
std::string
377
getPathParams()
const
;
378
391
std::vector<std::string>
392
getPathParamsArray()
const
;
393
413
ca_mgm::url::ParamMap
414
getPathParamsMap(
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
415
432
std::string
433
getPathParam(
const
std::string ¶m,
434
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
435
436
437
// -----------------
447
std::string
448
getQueryString()
const
;
449
463
std::vector<std::string>
464
getQueryStringArray()
const
;
465
484
ca_mgm::url::ParamMap
485
getQueryStringMap(
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
486
503
std::string
504
getQueryParam(
const
std::string ¶m,
505
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
506
507
508
// -----------------
516
std::string
517
getFragment(
EEncoding
eflag =
ca_mgm::url::E_DECODED
)
const
;
518
519
520
// -----------------
527
void
528
setScheme(
const
std::string &scheme);
529
530
531
// -----------------
545
void
546
setAuthority(
const
std::string &authority);
547
557
void
558
setUsername(
const
std::string &user,
559
EEncoding
eflag =
ca_mgm::url::E_DECODED
);
560
570
void
571
setPassword(
const
std::string &pass,
572
EEncoding
eflag =
ca_mgm::url::E_DECODED
);
573
594
void
595
setHost(
const
std::string &host,
596
EEncoding
eflag =
ca_mgm::url::E_DECODED
);
597
605
void
606
setPort(
const
std::string &port);
607
608
609
// -----------------
620
void
621
setPathData(
const
std::string &pathdata);
622
630
void
631
setPathName(
const
std::string &path,
632
EEncoding
eflag =
ca_mgm::url::E_DECODED
);
633
640
void
641
setPathParams(
const
std::string ¶ms);
642
649
void
650
setPathParamsArray(
const
std::vector<std::string> &parray);
651
658
void
659
setPathParamsMap(
const
ca_mgm::url::ParamMap
&pmap);
660
670
void
671
setPathParam(
const
std::string ¶m,
const
std::string &value);
672
673
674
// -----------------
681
void
682
setQueryString(
const
std::string &querystr);
683
690
void
691
setQueryStringArray(
const
std::vector<std::string> &qarray);
692
699
void
700
setQueryStringMap(
const
ca_mgm::url::ParamMap
&qmap);
701
711
void
712
setQueryParam(
const
std::string ¶m,
const
std::string &value);
713
714
715
// -----------------
723
void
724
setFragment(
const
std::string &fragment,
725
EEncoding
eflag =
ca_mgm::url::E_DECODED
);
726
727
728
// -----------------
737
ViewOptions
738
getViewOptions()
const
;
739
748
void
749
setViewOptions(
const
ViewOptions
&vopts);
750
757
friend
std::ostream &
758
operator<<
(std::ostream &os,
const
Url
&url);
759
760
private
:
761
url::UrlRef
m_impl
;
762
};
763
764
765
// -------------------------------------------------------------------
766
}
// End url namespace
767
}
// End of CA_MGM_NAMESPACE
768
#endif // CA_MGM_URLUTILS_HPP
769
// vim: set ts=8 sts=8 sw=8 ai noet:
Generated by
1.8.2