private static void HttpCallback(IntPtr url, I3dSitesGetterWrapper.I3dHttpParsingCallback parsingCallback, IntPtr parsingUserdata, IntPtr userdata) { I3dSitesGetter sitesGetter; if (!SitesGetter.TryGetValue(userdata, out sitesGetter)) { throw new InvalidOperationException("Cannot find I3dSitesGetter instance"); } sitesGetter.StartCoroutine(sitesGetter.GetPayload(url, parsingCallback, parsingUserdata, userdata)); }
private static void LogCallback(IntPtr data, int level, IntPtr log) { I3dSitesGetterWrapper sitesGetter; if (!SitesGetter.TryGetValue(data, out sitesGetter)) { throw new InvalidOperationException("Cannot find I3dSitesGetterWrapper instance"); } if (sitesGetter._logCallback == null) { return; } if (!Enum.IsDefined(typeof(I3dLogLevel), level)) { throw new I3dInvalidLogLevelException(level); } var logLevel = (I3dLogLevel)level; sitesGetter._logCallback(logLevel, new Utf8ByteArray(log).ToString()); }