MCPcopy Create free account
hub / github.com/KikoPlayProject/KikoPlay / callGetSources

Method callGetSources

Extension/Script/danmuscript.cpp:131–161  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

129}
130
131QString DanmuScript::callGetSources(const char *fname, const QVariant &param, bool passOption, QList<DanmuSource> &results)
132{
133 QString errInfo;
134 QVariantList params{param};
135 if(passOption) addSearchOptions(params);
136 QVariantList rets = call(fname, params, 1, errInfo);
137 if(!errInfo.isEmpty()) return errInfo;
138 QVariant ret = rets.first(); // array, [{title='', <desc>='', data='', <delay>=xx, <duration>=''},{}...]
139 if(ret.type() != QVariant::List) return "Wrong Return Value Type";
140 QVariantList sourceList = ret.toList();
141 results.clear();
142 for(auto &item : sourceList)
143 {
144 if(item.type() == QVariant::Map)
145 {
146 auto itemObj = item.toMap();
147 QString title(itemObj.value("title").toString());
148 QString data(itemObj.value("data").toString());
149 if(title.isEmpty() || data.isEmpty()) continue;
150 DanmuSource src;
151 src.title = title;
152 src.desc = itemObj.value("desc").toString();
153 src.scriptData = data;
154 src.scriptId = id();
155 src.delay = itemObj.value("delay", 0).toInt();
156 src.duration = itemObj.value("duration", 0).toInt();
157 results.append(src);
158 }
159 }
160 return errInfo;
161}

Callers

nothing calls this directly

Calls 7

valueMethod · 0.80
isEmptyMethod · 0.45
typeMethod · 0.45
clearMethod · 0.45
toMapMethod · 0.45
toStringMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected