void TlenIqResultTcfg(TlenProtocol *proto, XmlNode *iqNode) { XmlNode *queryNode, *miniMailNode, *node; char *type; if ((type=TlenXmlGetAttrValue(iqNode, "type")) == NULL) return; if (!strcmp(type, "result")) { if ((queryNode=TlenXmlGetChild(iqNode, "query")) == NULL) return; if ((miniMailNode=TlenXmlGetChild(queryNode, "mini-mail")) == NULL) return; if ((node=TlenXmlGetChild(miniMailNode, "base")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.mailBase, FALSE, NULL); } if ((node=TlenXmlGetChild(miniMailNode, "msg")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.mailMsg, TRUE, &proto->threadData->tlenConfig.mailMsgMthd); } if ((node=TlenXmlGetChild(miniMailNode, "index")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.mailIndex, TRUE, &proto->threadData->tlenConfig.mailIndexMthd); } if ((node=TlenXmlGetChild(miniMailNode, "login")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.mailLogin, TRUE, &proto->threadData->tlenConfig.mailLoginMthd); } if ((node=TlenXmlGetChild(miniMailNode, "compose")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.mailCompose, TRUE, &proto->threadData->tlenConfig.mailComposeMthd); } if ((node=TlenXmlGetChild(miniMailNode, "avatar-get")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.avatarGet, TRUE, &proto->threadData->tlenConfig.avatarGetMthd); } if ((node=TlenXmlGetChild(miniMailNode, "avatar-upload")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.avatarUpload, TRUE, &proto->threadData->tlenConfig.avatarUploadMthd); } if ((node=TlenXmlGetChild(miniMailNode, "avatar-remove")) != NULL) { GetConfigItem(node, proto->threadData->tlenConfig.avatarRemove, TRUE, &proto->threadData->tlenConfig.avatarRemoveMthd); } } }
void ADVBConfig::MapDVBCards() { uint_t i; dvbcards.DeleteList(); for (i = 0; i < 4; i++) { AString defname = "*"; AString cardname; sint_t card = -1; cardname = GetConfigItem(AString("card%;").Arg(i), defname); if ((card = findcard(cardname, &dvbcards)) >= 0) { dvbcards.Add((uint_t)card); } else break; } printf("DVB card mapping:"); for (i = 0; i < dvbcards.Count(); i++) { printf("Virtual card %u -> physical card %u", i, (uint_t)dvbcards[i]); } }
void ADVBConfig::ListUsers(AList& list) const { AHash users(10); AList userpatterns; AString filepattern = GetUserPatternsPattern(); AString filepattern_parsed = ParseRegex(filepattern); AString _users = GetConfigItem("users"); AStdFile fp; uint_t i, n = _users.CountColumns(); //debug("Reading users from config %s\n", config.GetFilename().str()); for (i = 0; i < n; i++) { AString user = _users.Column(i).Words(0); if (!users.Exists(user)) { users.Insert(user, 0); list.Add(new AString(user)); } } if (fp.open(GetPatternsFile())) { AString line; while (line.ReadLn(fp) >= 0) { AString user; int p; if ((p = line.PosNoCase(" user:="******"user:=") == 0) user = line.Mid(6).Word(0).DeQuotify(); if (user.Valid() && !users.Exists(user)) { users.Insert(user, 0); list.Add(new AString(user)); } } fp.close(); } ::CollectFiles(filepattern.PathPart(), filepattern.FilePart(), 0, userpatterns); const AString *file = AString::Cast(userpatterns.First()); while (file) { AString user; ADataList regions; if (MatchRegex(*file, filepattern_parsed, regions)) { const REGEXREGION *region = (const REGEXREGION *)regions[0]; if (region) { user = file->Mid(region->pos, region->len); if (!users.Exists(user)) { users.Insert(user, 0); list.Add(new AString(user)); } } } file = file->Next(); } list.Sort(&AString::AlphaCompareCase); }
AString ADVBConfig::GetShareDir() const { return GetConfigItem("sharedir", RDDVB_SHARE_DIR); }
AString ADVBConfig::GetLogDir() const { return GetConfigItem("logdir", DEFAULTLOGDIR); }
AString ADVBConfig::GetDataDir() const { return GetConfigItem("datadir", DEFAULTDATADIR); }