namespace ProtocolPlugin
{
// This client-implemented managed interface,
// called each time the new request must be processed.
public interface iProtoPlug
{
// Is called by unmanaged code when the new request should be processed.
// You must return the text/html data stream, encoded in UTF-8.
// The return value is the document length in bytes.
// 'url' is the full URL requested by the browser, including the protocol fraction.
int getStream( string url, out Stream objStream );
}
// This managed class represents the main DLL entry point.
public class ProtoPlug : IDisposable
{
// 'strProtocol' is the fraction of the URLs that comes before the "://" characters.
// 'handler' is managed client-implemented object that generates the HTML content when requested.
public ProtoPlug( string strProtocol, iProtoPlug handler );
}
}