- {
- if (depth == 2)
- {
- if (strcasecmp(el, "uname") == 0)
- {
- info.uname = getStringValue(attr);
- return 0;
- }
- if (strcasecmp(el, "version") == 0)
- {
- info.version = getStringValue(attr);
- return 0;
- }
- if (strcasecmp(el, "tariff") == 0)
- {
- info.tariffType = getIntValue(attr);
- return 0;
- }
- if (strcasecmp(el, "dir_num") == 0)
- {
- info.dirNum = getIntValue(attr);
- return 0;
- }
- if (strcasecmp(el, "users_num") == 0)
- {
- info.usersNum = getIntValue(attr);
- return 0;
- }
- if (strcasecmp(el, "tariff_num") == 0)
- {
- info.tariffNum = getIntValue(attr);
- return 0;
- }
-
- for (int j = 0; j < DIR_NUM; j++)
- {
- char str[16];
- sprintf(str, "dir_name_%d", j);
- if (strcasecmp(el, str) == 0)
- ParseDirName(attr, j);
- }
-
- }
- }
+ if (depth == 2 && parsingAnswer)
+ if (!TryParse(propertyParsers, ToLower(el), attr))
+ error = "Invalid parameter.";