From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a03653.html | 475 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 475 insertions(+) create mode 100644 docs/doxygen/nel/a03653.html (limited to 'docs/doxygen/nel/a03653.html') diff --git a/docs/doxygen/nel/a03653.html b/docs/doxygen/nel/a03653.html new file mode 100644 index 00000000..8f400539 --- /dev/null +++ b/docs/doxygen/nel/a03653.html @@ -0,0 +1,475 @@ + + +NeL: CVarPath class Reference + + + +
+

CVarPath Class Reference

#include <varpath.h> +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 CVarPath (const std::string &raw)
void decode ()
void display ()
bool empty ()
bool isFinal ()
 returns true if there s no more . in the path


Data Fields

std::vector< std::pair< std::string,
+ std::string > > 
Destination

Private Member Functions

std::string getToken ()

Private Attributes

std::string RawVarPath
uint32 TokenPos
+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + +
CVarPath::CVarPath const std::string &  raw  )  [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 35 of file varpath.h. +

+References decode(), and RawVarPath. +

+

00035                                         : RawVarPath(raw)
+00036         {
+00037                 decode ();
+00038         }
+
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + +
void CVarPath::decode  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 101 of file varpath.cpp. +

+References getToken(), nlwarning, RawVarPath, TokenPos, and uint. +

+Referenced by CVarPath(). +

+

00102 {
+00103         vector<string> dest;
+00104         TokenPos = 0;
+00105         Destination.clear ();
+00106 
+00107         string val = getToken ();
+00108 
+00109         if (val == "")
+00110                 return;
+00111                 
+00112         if (val == "[" )
+00113         {
+00114                 do
+00115                 {
+00116                         uint osbnb = 0;
+00117                         string d;
+00118                         do
+00119                         {
+00120                                 val = getToken ();
+00121                                 if (val == "[")
+00122                                         osbnb++;
+00123 
+00124                                 // end of token
+00125                                 if (val == "")
+00126                                 {
+00127                                         nlwarning ("VP: Bad VarPath '%s', suppose it s an empty varpath", RawVarPath.c_str());
+00128                                         Destination.clear ();
+00129                                         return;
+00130                                 }
+00131                                         
+00132                                 if (osbnb == 0 && (val == "," || val == "]"))
+00133                                         break;
+00134 
+00135                                 if (val == "]")
+00136                                         osbnb--;
+00137 
+00138                                 d += val;
+00139                         }
+00140                         while (true);
+00141                         dest.push_back (d);
+00142                         if (val == "]")
+00143                                 break;
+00144                 }
+00145                 while (true);
+00146         }
+00147         else if (val != "." && val != "," && val != "]")
+00148         {
+00149                 dest.push_back (val);
+00150         }
+00151         else
+00152         {
+00153                 nlwarning ("VP: Malformated VarPath '%s' before position %d", RawVarPath.c_str (), TokenPos);
+00154                 return;
+00155         }
+00156 
+00157         // must the a . or end of string
+00158         val = getToken ();
+00159         if (val == " ")
+00160         {
+00161                 // special case, there s a space that means that everything after is not really part of the varpath.
+00162                 Destination.push_back (make_pair(RawVarPath, string("")));
+00163                 return;
+00164         }
+00165         else if (val != "." && val != "" && val != "=")
+00166         {
+00167                 nlwarning ("VP: Malformated VarPath '%s' before position %d", RawVarPath.c_str (), TokenPos);
+00168                 return;
+00169         }
+00170 
+00171         for (uint i = 0; i < dest.size(); ++i)
+00172         {
+00173                 string srv, var;
+00174                 uint pos;
+00175                 
+00176                 if ((pos = dest[i].find ('.')) != string::npos)
+00177                 {
+00178                         srv = dest[i].substr(0, pos);
+00179                         var = dest[i].substr(pos+1);
+00180                         if (TokenPos < RawVarPath.size())
+00181                                 var += val + RawVarPath.substr (TokenPos);
+00182                 }
+00183                 else
+00184                 {
+00185                         srv = dest[i];
+00186                         if (val == "=")
+00187                         {
+00188                                 srv += val + RawVarPath.substr (TokenPos);
+00189                                 var = "";
+00190                         }
+00191                         else
+00192                                 var = RawVarPath.substr (TokenPos);
+00193                 }
+00194 
+00195                 Destination.push_back (make_pair(srv, var));
+00196         }
+00197 
+00198         //display ();
+00199 }
+
+

+ + + + +
+ + + + + + + + + +
void CVarPath::display  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 208 of file varpath.cpp. +

+References nlinfo, and uint. +

+

00209 {
+00210         nlinfo ("VP: VarPath dest = %d", Destination.size ());
+00211         for (uint i = 0; i < Destination.size (); i++)
+00212         {
+00213                 nlinfo ("VP:  > '%s' '%s'", Destination[i].first.c_str(), Destination[i].second.c_str());
+00214         }
+00215 }
+
+

+ + + + +
+ + + + + + + + + +
bool CVarPath::empty  )  [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 49 of file varpath.h. +

+Referenced by NLNET::serviceGetView(). +

+

00050         {
+00051                 return Destination.empty();
+00052         }
+
+

+ + + + +
+ + + + + + + + + +
string CVarPath::getToken  )  [private]
+
+ + + + + +
+   + + +

+VarPath ::= [bloc '.']* bloc bloc ::= '[' [VarPath ',']* VarPath ']' | name name ::= [ascii]* ['*'] +

+Definition at line 77 of file varpath.cpp. +

+References RawVarPath, res, and TokenPos. +

+Referenced by decode(). +

+

00078 {
+00079         string res;
+00080         
+00081         if (TokenPos >= RawVarPath.size())
+00082                 return res;
+00083 
+00084         res += RawVarPath[TokenPos];
+00085 
+00086         switch (RawVarPath[TokenPos++])
+00087         {
+00088         case '.': case '*': case '[': case ']': case ',': case '=': case ' ':
+00089                 break;
+00090         default :
+00091                 while (TokenPos < RawVarPath.size() && RawVarPath[TokenPos] != '.' && RawVarPath[TokenPos] != '[' && RawVarPath[TokenPos] != ']' && RawVarPath[TokenPos] != ',' && RawVarPath[TokenPos] != '=' && RawVarPath[TokenPos] != ' ')
+00092                 {
+00093                         res += RawVarPath[TokenPos++];
+00094                 }
+00095                 break;
+00096         }
+00097         return res;
+00098 }
+
+

+ + + + +
+ + + + + + + + + +
bool CVarPath::isFinal  ) 
+
+ + + + + +
+   + + +

+returns true if there s no more . in the path +

+ +

+Definition at line 201 of file varpath.cpp. +

+Referenced by NLNET::serviceGetView(). +

+

00202 {
+00203         if(Destination.size() == 0) return true;
+00204         if(Destination[0].second.size() == 0) return true;
+00205         return false;
+00206 }
+
+


Field Documentation

+

+ + + + +
+ + +
std::vector<std::pair<std::string, std::string> > CVarPath::Destination +
+
+ + + + + +
+   + + +

+ +

+Definition at line 42 of file varpath.h. +

+Referenced by NLMISC_COMMAND(), NLNET::serviceGetView(), and NLNET::setInformations().

+

+ + + + +
+ + +
std::string CVarPath::RawVarPath [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 58 of file varpath.h. +

+Referenced by CVarPath(), decode(), and getToken().

+

+ + + + +
+ + +
uint32 CVarPath::TokenPos [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 60 of file varpath.h. +

+Referenced by decode(), and getToken().

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 06:43:55 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1