/////////////////////////////////////////////////////////////////////// #region IPlugin Members public override Stream GetStream( Interpreter interpreter, string name, ref Result error ) { if (String.IsNullOrEmpty(name)) { error = "invalid stream name"; return(null); } Assembly assembly = this.Assembly; if (assembly == null) { error = "plugin assembly not available"; return(null); } try { Stream stream = assembly.GetManifestResourceStream( PathOps.MakeRelativePath(name, true)); if (stream != null) { return(stream); } else { error = "stream not found"; } } catch (Exception e) { error = e; } return(null); }
/////////////////////////////////////////////////////////////////////// #region IPlugin Members public override Stream GetStream( Interpreter interpreter, string name, ref Result error ) { if (!enableGetStream) { return(base.GetStream(interpreter, name, ref error)); } if (String.IsNullOrEmpty(name)) { error = "invalid stream name"; return(null); } Assembly assembly = this.Assembly; if (assembly == null) { error = "plugin assembly not available"; return(null); } try { Stream stream = assembly.GetManifestResourceStream(name); if (stream != null) { return(stream); } stream = assembly.GetManifestResourceStream( PathOps.MakeRelativePath(name, true)); if (stream != null) { return(stream); } string prefix = GlobalState.GetBasePath(); if (name.StartsWith(prefix, PathOps.ComparisonType)) { stream = assembly.GetManifestResourceStream( name.Substring(prefix.Length)); if (stream != null) { return(stream); } } stream = assembly.GetManifestResourceStream(name); if (stream != null) { return(stream); } stream = assembly.GetManifestResourceStream( Path.GetFileName(name)); if (stream != null) { return(stream); } error = "stream not found"; } catch (Exception e) { error = e; } return(null); }