This tutorial describes the steps to modify the data and delimiter.
CDelimitedXxxx8
classes to parse,
add or remove the delimiter and segment within the URI.Note:
TDelimitedXxxxParser8
classes
provide the functionality only for parsing.CDelimitedPath8
, CDelimitedPathSegment8
and CDelimitedQuery8
classes are derived from CDelimitedDataBase to
add and remove data and delimiters from the respective component. CDelimitedXxxx8
classes
provide the following functionality:
SetDelimiter()
, Parse()
and ParseReverse()
functions
are used to set the delimiter and parse the data.
ParseReverse()
is used, for example, when you want
to extract the file name. For more details on parsing the delimited data,
refer to Parsing the
delimited data.
Note: Delimiter must be set before the data is parsed.
_LIT8(KPath,"c:/myfolder"); _LIT8(KLogs,"logs"); //Create CDelimitedPath8 object CDelimitedPath8* dpath = CDelimitedPath8::NewL(KPath);
HTTP Utilities Library provides CDelimitedXxxx8
classes
to modify the data and the delimiter.
dpath->PopFrontL(); // remove first segment containing "c:" const TDesC8& des = dpath->Parser().Des();
Here, des
holds "/myfolder/logs
"
after removing "c:
". To remove the last segment from
the data, use PopBackL()
.
Adding a segment: The following code adds a new segment at the end of the data.
dpath->PushBackL(KLogs); // add "logs" at the end const TDesC8& des = dpath->Parser().Des();
Here, des
holds "c:/myfolder/logs
"
after adding "logs". To add a new segment at the beginning of the data, use PushFrontL()
.
Removing a delimiter: The following code removes the delimiter from the beginning of the data.
dpath->TrimFrontDelimiterL(); // remove delimiter "/" at the beginning const TDesC8& des = dpath->Parser().Des();
Here, des
holds "myfolder/logs
"
after removing "/". To add the delimiter at the beginning or at the end of
the data, use AddFrontDelimiterL()
and AddBackDelimiterL()
respectively.
Parsing data and removing the current segment of data: The following code parses the data and removes the current segment of data.
//Parse before removing the segment dpath->Parse(); //remove the current segment dpath->RemoveCurrentL(); // parse the data after removing "myfolder" const TDesC8& des = dpath->Parser().Des();
Here, des
holds "/logs
"
after removing "myfolder
".
Note: The data must be parsed after removing the segment.
Adding a delimiter: The following code inserts a new segment before the current parsed segment.
// data to insert _LIT8(KHolyfolder,"Holyfolder"); //insert a new segment before the current segment dpath->InsertCurrentL(KHolyfolder); // parse the data after inserting "Holyfolder" const TDesC8& des = dpath->Parser().Des();
Here, des holds "/Holyfolder/logs
" after
inserting "Holyfolder
".