/// <summary> /// Construct a KhronosLogContext. /// </summary> /// <param name="khronoApiType"> /// A <see cref="Type"/> that specifies the type of the class where to query log information. /// </param> public KhronosLogContext(Type khronoApiType) { QueryLogContext(khronoApiType); #if HAVE_SYSTEM_XML try { _LogMap = KhronosLogMap.Load($"OpenGL.KhronosLogMap{khronoApiType.Name}.xml"); } catch { /* Fail-safe */ } #endif }
/// <summary> /// Construct a KhronosLogContext. /// </summary> /// <param name="khronoApiType"></param> public KhronosLogContext(Type khronoApiType) { QueryLogContext(khronoApiType); #if NETFRAMEWORK try { _LogMap = KhronosLogMap.Load(String.Format("OpenGL.KhronosLogMap{0}.xml", khronoApiType.Name)); } catch { /* Fail-safe */ } #endif }
/// <summary> /// Load a <see cref="KhronosLogMap"/> from an embedded resource. /// </summary> /// <param name="resourcePath"> /// A <see cref="String"/> that specifies the path of the Khronos API log map resource. /// </param> /// <param name="logMap"> /// The <see cref="KhronosLogMap"/> to be serialized into <paramref name="resourcePath"/>. /// </param> public static void Save(string resourcePath, KhronosLogMap logMap) { if (resourcePath == null) { throw new ArgumentNullException("resourcePath"); } if (logMap == null) { throw new ArgumentNullException("logMap"); } using (FileStream fs = new FileStream(resourcePath, FileMode.Create, FileAccess.Write)) { _XmlSerializer.Serialize(fs, logMap); } }
/// <summary> /// Construct a KhronosLogContext. /// </summary> /// <param name="khronoApiType"> /// A <see cref="Type"/> that specifies the type of the class where to query log information. /// </param> /// <param name="logMap"> /// A <see cref="KhronosLogMap"/> holding metadata for <paramref name="khronoApiType"/>. /// </param> public KhronosLogContext(Type khronoApiType, KhronosLogMap logMap) { QueryLogContext(khronoApiType); if (logMap == null) { #if HAVE_SYSTEM_XML try { _LogMap = KhronosLogMap.Load($"OpenGL.KhronosLogMap{khronoApiType.Name}.xml"); } catch { /* Fail-safe */ } #endif } else { _LogMap = logMap; } }
/// <summary> /// Load a <see cref="KhronosLogMap"/> from an embedded resource. /// </summary> /// <param name="resourcePath"> /// A <see cref="String"/> that specifies the path of the Khronos API log map resource. /// </param> /// <param name="logMap"> /// The <see cref="KhronosLogMap"/> to be serialized into <paramref name="resourcePath"/>. /// </param> public static void Save(string resourcePath, KhronosLogMap logMap) { if (resourcePath == null) { throw new ArgumentNullException(nameof(resourcePath)); } if (logMap == null) { throw new ArgumentNullException(nameof(logMap)); } #if NETFRAMEWORK using (FileStream fs = new FileStream(resourcePath, FileMode.Create, FileAccess.Write)) { _XmlSerializer.Serialize(fs, logMap); } #else throw new NotImplementedException(); #endif }